【问题标题】:How to locate the preference category in a preference screen in Android?如何在 Android 的偏好屏幕中定位偏好类别?
【发布时间】:2012-08-23 09:38:26
【问题描述】:

我在通知区域实现了一个通知,可以点击它进入声音设置偏好活动。此页面中有多个类别,我如何滚动到我想要的类别或首选项?如果我不注意并只是启动声音设置,我无法立即看到我想要的类别。

【问题讨论】:

    标签: android audio preference setting


    【解决方案1】:

    如果 SettingsActivity 是您的自定义活动,您可以

    getListView().setSelection(i);
    

    如果你指的是原生安卓声音设置,我认为你不能。

    要滚动到某个类别,我认为您必须这样做

    PreferenceCategory category = (PreferenceCategory)findPreference("you_category_key");
            for (int i = 0; i <  getPreferenceScreen().getRootAdapter().getCount(); i++){
                Object o = getPreferenceScreen().getRootAdapter().getItem(i);
                if (o instanceof PreferenceCategory ){
                    if (o.equals(category)){
                        getListView().setSelection(i);
                    }
                }
            }
    

    但不幸的是这段代码在onCerate和onResume中没有效果,不知道为什么。尝试将此代码粘贴到其他地方。

    【讨论】:

    • 谢谢。在 android 4.1 中,我如何找到该类别。代码中的选择“getListView().setSelection(i);”不包括类别,对吧?
    【解决方案2】:

    试试这个,希望对你有帮助。

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
                Intent intent = new Intent(Settings.ACTION_SOUND_SETTINGS);
            startActivity(intent);
    
        }
    

    【讨论】:

    • 谢谢,但我需要在声音设置页面中找到一个类别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多