2

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

android开发者文档告诉我们

请注意,此 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 后退按钮相同的功能?

4

1 回答 1

0

我认为普通用户应该知道后退按钮。该按钮无处不在,因此在第一天使用它可能会出现问题,但之后就很自然了。如果不习惯“后退”按钮,我几乎无法想象完成日常任务。

您要添加的首选项只是重复功能,并且不提供与系统其余部分一致的方式。如果 Google 正在考虑重新成为临时用户的不寻常事物,那么会在手机的设置中添加该选项,这也是 PreferenceActivity。

于 2012-04-20T17:10:15.987 回答