我最重要的问题是:在 Android中,当我浏览定义的菜单PreferenceActivity时,如何编写一个与按下 Android 后退按钮具有相同功能的功能?也就是说,我希望我的应用程序的用户明确地看到一个菜单选项“返回”,这将把他们带到上一个菜单,或者如果他们在这个的根目录下,把他们从菜单活动中带到他们以前的活动特定的会话。 OnClickListenerPreferenceScreenPreferenceActivity
请注意,此 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 后退按钮相同的功能?