android – 如何导航到嵌套的PreferencesScreen

前端之家收集整理的这篇文章主要介绍了android – 如何导航到嵌套的PreferencesScreen前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的应用程序中,我嵌套了PreferencesScreen的
<PreferencesScreen>
    <PreferencesScreen android:key="application">

    </PreferencesScreen>
</PreferencesScreen>

现在我想解雇Intent将我从currrent Activity直接带到应用程序首选项子屏幕.我怎样才能做到这一点?

解决方法

在我的应用程序中,我有类似的任务以编程方式显示第二级PreferencesScreen.我做了什么:

>在preferences.xml中,我为要显示的PreferencesScreen分配了一个键(如问题所示).
>要显示我写的PreferencesScreen:

final Intent preferencesActivity = new Intent(getBaseContext(),MyPreferencesActivity.class);
preferencesActivity.putExtra("PREFERENCE_SCREEN_KEY","key_of_preference_screen_to_show");
startActivity(preferencesActivity);

>然后在方法onCreate的PreferenceActivity类中添加以下代码

final Intent intent = getIntent();
final String startScreen = intent.getStringExtra("PREFERENCE_SCREEN_KEY");
if (startScreen != null) {
    getIntent().removeExtra("PREFERENCE_SCREEN_KEY");
    final Preference preference = findPreference(startScreen);
    final PreferenceScreen preferenceScreen = getPreferenceScreen();
    final ListAdapter listAdapter = preferenceScreen.getRootAdapter();
    final int itemsCount = listAdapter.getCount();
    int itemNumber;
    for (itemNumber = 0; itemNumber < itemsCount; ++itemNumber) {
        if (listAdapter.getItem(itemNumber).equals(preference)) {
            preferenceScreen.onItemClick(null,null,itemNumber,0);
            break;
        }
    }
}

一句话……不仅是第二级的PreferencesScreen,而且这里加载了整个首选项层次结构.因此,如果按“返回”按钮,将显示第一个(父)PreferencesScreen.就我而言,这正是我所需要的.不确定你的.

猜你在找的Android相关文章