我的首要问题是:在Android PreferenceActivity
中,当我浏览OnClickListener
定义的菜单时,如何编写PreferenceScreen
,其功能与按下Android后退按钮的功能相同?也就是说,我希望我的应用程序的用户明确地看到菜单选项“返回”,它将把它们带到上一个菜单,或者如果它们位于此根目录,则将它们从菜单活动中移出到之前的活动中特别PreferenceActivity
会话。
android developer documents tell us
请注意,此XML资源包含一个包含另一个片段的首选项屏幕,此处实现了Prefs1FragmentInner。这允许用户遍历优先级的层次结构;按下将弹出堆栈中的每个片段以返回先前的首选项。
他们对此是正确的。通过单击PreferenceScreen
项目进入该屏幕,然后使用Android后退按钮返回一个级别,我愉快地浏览菜单。但是我不确定一个随意的用户是否真的理解“后退”按钮,我知道直到我在开发人员文档中阅读它时才会这样做。所以我希望他们有一个明确的Preference
定义的菜单选项OnClickListener
复制Android后退按钮的功能。
所以我试着在我的菜单中放入一个可以追溯的偏好。确定我的onBackPressed
子类中的Overriden PreferenceActivity
刚刚返回Activity.onBackPressed()
只调用了finish()
,我尝试了OnClickListener
:
private OnPreferenceClickListener clickFinishesSuccessfully = new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
finish();
return true;
}
};
事实证明,这并不像按下后退按钮那样做!按下此按钮始终将我从PreferenceActivity
完全取出,回到Activity
我称之为PreferenceActivity
的{{1}}。具体来说,无论我点击它有多深,它都没有导航回我的菜单。
我在这里猜测:当我通过单击屏幕上的首选项PreferenceScreen
来获取子菜单时,我不再是我自己的PreferenceActivity
。我必须参加其他一些活动吗?
所以我的功能性问题:我可以在我的“Back”Preference
的OnClickListener中添加什么来获得与浏览菜单的Android Back按钮相同的功能?
答案 0 :(得分:0)
我认为临时用户应该知道后退按钮。按钮在任何地方都使用,因此在第一天使用它可能是一个问题但在此之后它很自然。不习惯“后退”按钮,我很难想象做日常任务。
您要添加的首选项只是重复功能,并且不提供与系统其余部分一致的方式。如果谷歌考虑对休闲用户来说这是一个不常见的事情,可以在手机的设置中添加该选项,这也是PreferenceActivity。