在后退按钮上显示上一个活动

时间:2013-04-10 11:57:43

标签: android android-intent android-activity back

我有两项活动:ActivityAActivityB

Activity A包含三个线性布局。单击每个线性布局会调用showReport方法,该方法正在开始ActivityB

在后退按钮上点击ActivityB,我会在ActivityA函数onActivityResult中获得结果并尝试刷新ActivityA

但问题是 -

当我点击任何线性布局时,系统会调用onActivityResult并且我的resultCode等于0,因此条件 true 和{{1}再次被召唤。

如果我按后退按钮,如何拨打Activity A或如何让条件Activity A成为resultCode

我的代码示例 -

活动A:

0

2 个答案:

答案 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的真实值(第一次falseActivityB所以它不会更进一步)
  • 按下check=true后再设置值false
  • 当您再次致电check 时,
  • ActivityB值设为activityA

因此,ActivityB只有在来自{{1}}

时才会调用