我最重要的问题是:在 Android中,当我浏览定义的菜单PreferenceActivity
时,如何编写一个与按下 Android 后退按钮具有相同功能的功能?也就是说,我希望我的应用程序的用户明确地看到一个菜单选项“返回”,这将把他们带到上一个菜单,或者如果他们在这个的根目录下,把他们从菜单活动中带到他们以前的活动特定的会话。 OnClickListener
PreferenceScreen
PreferenceActivity
请注意,此 XML 资源包含一个包含另一个片段的首选项屏幕,即此处实现的 Prefs1FragmentInner。这允许用户遍历偏好层次结构;按下后退会将每个片段从堆栈中弹出以返回到以前的首选项。
他们对此是正确的。PreferenceScreen
我通过单击项目进入该屏幕并使用 Android 后退按钮返回上一级来愉快地浏览我的菜单。但我不确定普通用户是否真的理解“后退”按钮,我知道直到我在开发者文档中读到它时才知道。所以我希望他们有一个明确Preference
定义的菜单选项,它可以OnClickListener
复制 Android 后退按钮的功能。
所以我试图在我的菜单中添加一个可以返回的首选项。在确定onBackPressed
我的子类中的一个未覆盖后,我PreferenceActivity
刚刚引用了Activity.onBackPressed()
它只是调用finish()
,我尝试了这个OnClickListener
:
private OnPreferenceClickListener clickFinishesSuccessfully = new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
finish();
return true;
}
};
事实证明,这与按下后退按钮的作用不同!按下这个按钮总是让我PreferenceActivity
完全脱离,回到Activity
我调用我的PreferenceActivity
. 具体来说,无论我单击它时有多深,它都不会在我的菜单中导航回来。
我在这里猜测:当我通过单击屏幕上的首选项(实际上是 )进入子菜单PreferenceScreen
时,我不再属于我自己的PreferenceActivity
。我必须参加其他活动?
所以我的功能问题:我可以在我的“后退”的 OnClickListener 中放入什么Preference
来获得与通过我的菜单导航的 Android 后退按钮相同的功能?