我有两项活动:ActivityA
和ActivityB
Activity A
包含三个线性布局。单击每个线性布局会调用showReport
方法,该方法正在开始ActivityB
。
在后退按钮上点击ActivityB
,我会在ActivityA
函数onActivityResult
中获得结果并尝试刷新ActivityA
。
但问题是 -
当我点击任何线性布局时,系统会调用onActivityResult
并且我的resultCode
等于0
,因此条件 true 和{{1}再次被召唤。
如果我按后退按钮,如何拨打Activity A
或如何让条件Activity A
成为resultCode
。
我的代码示例 -
活动A:
0
答案 0 :(得分:0)
活动A:
Intent in = new Intent(this, ActivityA.class);
startActivity(in);
如果您在活动中,那么为什么还要再次启动相同的活动?
无论如何,您可以使用此选项检查后退按钮 - >
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_CANCELED) {
//means back button was pressed in ActivityB
}
}
修改强>
从showReport
this.setResult(RESULT_OK, intent);
答案 1 :(得分:0)
尝试使用ApplicationClass
中的一些全局变量(将在您的应用程序安装时第一次调用)
public boolean check =false;
check
onActivityResult
ActivityA
中布尔值check
的真实值(第一次false
为ActivityB
所以它不会更进一步)check=true
后再设置值false
check
时,ActivityB
值设为activityA
因此,ActivityB
只有在来自{{1}}