关于Android Kitkat和Lollipop的onBackPressed中的奇怪行为

时间:2015-08-18 12:25:25

标签: android android-fragments android-activity

观察到与Android kitkat和棒棒糖相关的不同奇怪的onBackPressed行为。

在片段中,将一个值添加到radioButton以及一个移动到下一个屏幕的选项。移动到下一个屏幕并按下backButton后,期望控件返回到上一个屏幕,并且应该出现radioButton中的填充值。

Android kitkat

按预期工作,通过backButton导航到上一个屏幕,恢复要在radioButton中填充的值。没问题。

Android Lollipop 它没有按预期工作,片段的其余部分被加载,而在radioButton中填充的值仍然是空文本。

以下是代码段。

@Override
public void onBackPressed() {
    super.onBackPressed();
    // ...
}

onBackPressed()应该在两种风格之间区别对待吗?

关于如何调试的任何指针?

由于

2 个答案:

答案 0 :(得分:0)

如果您有onBackPressed()方法的自定义行为,请尝试将super.onBackPressed()移至已重载的onBackPressed()方法的末尾。

希望它有所帮助。

答案 1 :(得分:0)

你可以做这个简单的伎俩:

@Override
public void onBackPressed() {
    super.onBackPressed();
    getActivity().finish();
}

如果您在活动中写这个,请删除getActivity()。