我正在使用的 Android 应用设计要求“向上”按钮的行为与“返回”按钮的行为相同,但我不知道如何实现。
我知道必须指定 android:parentActivityName
才能使“向上”按钮在 Activity 上可见,但指定固定的父 Activity 对 Activity 并没有真正意义。想象一下有 Activity A、B 和 C 的场景:
- 启动到 Activity A,它包含两个按钮:每个按钮分别将您带到 Activity B 和 C。
- 点击 Activity B 的按钮。
- 过渡到 Activity B。它包含两个按钮:每个按钮分别将您带到 Activity A 和 C。
- 点击 Activity C 的按钮。
- 过渡到 Activity C。
- 点击“向上”按钮,您应该被带到 Activity B。
- 现在在 Activity B 上:点按 Activity A 的按钮。
- 过渡到 Activity A。
- 点击“向上”按钮,您应该被带到 Activity B。
- 在 Activity B 上点击“向上”按钮,您应该被带到 Activity A。
- 现在在 Activity A 上:点按 Activity C 的按钮。
- 过渡到 Activity C。
- 点击“向上”按钮,您应该被带到 Activity A。
如果我为每个 Activity 指定 android:parentActivityName
,将 B 和 C 的父 Activity 设置为 A 可能有意义,但这意味着每次我们从 Activity B 或 C,我们降落在 Activity A(这并不总是应该发生的)。
有没有人有这方面的经验?
最佳答案
从您的所有三个 Activity 中添加以下内容
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return(super.onOptionsItemSelected(item));
}
当您按下应用程序上的向上按钮时,它会调用 onOptionsItemSelected
id 为 android.R.id.home
的情况,然后手动调用 >onBackPressed()
关于android - 使 "up"按钮的行为类似于 Android 上的 "back"按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22947713/