【发布时间】:2012-08-08 07:54:36
【问题描述】:
这可能是一个菜鸟问题,但我有一些疑问。我用谷歌搜索了很多,但一无所获。 在为结果启动活动时,我们传递请求代码,并在结果上使用相同的请求代码和结果代码进行检查。我想知道是否有一种方法可以通过使用请求代码来实现执行不同的任务并从被调用的活动中获得不同的结果,即如果使用不同的请求代码多次调用相同的活动,那么它会返回不同的结果。请告诉我该怎么做。我发现没有办法使用 switch 语句或任何其他方式来执行此操作。
我已经知道答案所以编辑这个。我想知道我是否可以使用这样的场景:
Intent intent = new Intent(this, yourClass.class);
intent.putExtras(b);
if(condition1)
startActivityForResult(intent, 1);
else
startActivityForResult(intent, 2);
我调用的 Activity 针对请求代码 1 和 2 返回两个不同的结果,所以我可以拥有
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
//could replace it with a switch
if (requestCode == 1){
//condition 1
}
else if(requestCode == 2){
//condition2
}
}
即使用不同的请求代码调用相同的活动以从相同的活动中获得不同的结果。
谢谢
【问题讨论】:
标签: android android-activity start-activity