Java PreferenceActivity,如何创建将在菜单中导航回来的首选项?

Java PreferenceActivity,如何创建将在菜单中导航回来的首选项?,java,android,preferenceactivity,Java,Android,Preferenceactivity,我最重要的问题是:在AndroidPreferenceActivity中,如何编写一个OnClickListener,它的功能与在PreferenceScreen定义的菜单中导航时按下Android后退按钮相同?也就是说,我希望我的应用程序的用户能够清楚地看到一个菜单选项“后退”,这将使他们返回上一个菜单,或者如果他们是此特定首选项活动的根用户,则将他们从菜单活动中带到上一个活动 注意,这个XML资源包含一个包含另一个片段的首选项屏幕,Prefs1FragmentInner在这里实现。这允许用

我最重要的问题是:在Android
PreferenceActivity
中,如何编写一个
OnClickListener
,它的功能与在
PreferenceScreen
定义的菜单中导航时按下Android后退按钮相同?也就是说,我希望我的应用程序的用户能够清楚地看到一个菜单选项“后退”,这将使他们返回上一个菜单,或者如果他们是此特定
首选项活动的根用户,则将他们从菜单活动中带到上一个活动

注意,这个XML资源包含一个包含另一个片段的首选项屏幕,Prefs1FragmentInner在这里实现。这允许用户遍历偏好的层次结构;按back将弹出堆栈中的每个片段,以返回到以前的首选项

他们是对的。我通过点击
PreferenceScreen
项目进入该屏幕,并使用安卓后退按钮返回一个级别,愉快地浏览我的菜单。但我不确定一个普通用户是否真的理解“后退”按钮,我知道直到我在开发者文档中读到它时我才明白。因此,我希望他们有一个明确的
首选项
定义的菜单选项,它的
OnClickListener
复制了Android后退按钮的功能

所以我试着在我的菜单中加入一个可以返回的偏好。确定了
首选项活动的my子类中未重写的
onBackPressed
只是引用了
活动。onBackPressed()
只调用
finish()
,我尝试了这个
OnClickListener

private on preferenceclicklistener clickFinishesSuccessfully=new on preferenceclicklistener(){
@凌驾
公共布尔值打开首选项单击(首选项){
完成();
返回true;
}
};
事实证明,这与按下后退按钮的效果不同!按下此按钮总是将我完全带出
首选项活动
,返回到调用我的
首选项活动的
活动
。具体地说,无论我点击它时有多深,它都不会在我的菜单中导航回来

我在这里猜测:当我通过单击屏幕上的首选项屏幕(实际上是
首选项屏幕
)进入子菜单时,我不再处于自己的
首选项活动
。我一定是在做别的事情


因此,我的功能性问题是:我可以在我的“后退”首选项的OnClickListener中输入什么,以获得与在我的菜单中导航的Android后退按钮相同的功能?

我认为临时用户应该知道后退按钮。这个按钮在任何地方都有使用,所以在第一天使用时可能会有问题,但在那之后,它是自然的。如果不习惯“后退”按钮,我很难想象每天都在做什么


您想要添加的首选项只是重复功能,不能提供与系统其余部分一致的方式。如果谷歌认为后退对于普通用户来说是一件不寻常的事情,那么它会在手机设置中添加该选项,这也是一项首选活动。

我认为普通用户应该知道后退按钮。这个按钮在任何地方都有使用,所以在第一天使用时可能会有问题,但在那之后,它是自然的。如果不习惯“后退”按钮,我很难想象每天都在做什么


您想要添加的首选项只是重复功能,不能提供与系统其余部分一致的方式。如果谷歌认为后退对于普通用户来说是一件不寻常的事情,那么它会在手机设置中添加该选项,这也是一项首选活动。

问题不在于后退按钮的用户体验。我也有同样的问题——当用户单击我的首选项时——我做了一些工作,希望在首选项中提高一个级别。例如,当用户单击“注销”时,我必须将其上移一级以隐藏某些首选项。问题不在于“后退”按钮的用户体验。我也有同样的问题——当用户单击我的首选项时——我做了一些工作,希望在首选项中提高一个级别。例如,当用户单击“注销”时,我必须将其上移一级以隐藏某些首选项。