使"向上"按钮的行为类似于Android上的"后退"按钮

Jas*_*att 28 android android-intent android-activity

我正在使用的Android应用程序设计调​​用"向上"按钮的行为与"后退"按钮的行为相同,但我不确定如何实现这一点.

我知道android:parentActivityName必须指定"Up"按钮才能在活动上显示,但是指定固定的父活动对于活动并不真正有意义.想象一下活动A,B和C的这种情况:

  1. 启动到活动A,它包含两个按钮:每个按钮分别带您进入活动B和C.
  2. 点击活动B的按钮.
  3. 转换到活动B.它包含两个按钮:每个按钮分别带您进入活动A和C.
  4. 点击活动C的按钮.
  5. 过渡到活动C.
  6. 点击"向上"按钮,您应该参加活动B.
  7. 现在在活动B上:点击活动A的按钮.
  8. 过渡到活动A.
  9. 点击"向上"按钮,您应该参加活动B.
  10. 在活动B点击"向上"按钮,您应该参加活动A.
  11. 现在在活动A上:点击活动C的按钮.
  12. 过渡到活动C.
  13. 点击"向上"按钮,您应该参加活动A.

如果我要android:parentActivityName为每个活动指定,那么将B和C的父活动设为A是有意义的,但这意味着每次我们从活动B或C点击"向上"按钮时,我们都会登陆活动A(那是并不总是应该发生的事情).

有没有人有这种类型的经验?

Elu*_*tar 55

从您的所有三个活动中添加以下内容

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;
    }

    return(super.onOptionsItemSelected(item));
}
Run Code Online (Sandbox Code Playgroud)

当你按下你的应用程序上的向上按钮时,它将onOptionsItemSelected使用id android.R.id.home捕获该情况并手动调用来调用onBackPressed()