小编ale*_*o91的帖子

如何打开或模拟点击Android ListPreference,这是偏好类别?

我试图以编程方式打开一个ListPreference,它存在于PreferenceCategory中.XML结构类似于:

<PreferenceScreen 
    android:key="pref_screen" >

    <PreferenceCategory 
        android:title="Category"
        andorid:key="pref_category">
        <ListPreference
            android:key="pref_list"
            android:title="List" />
    </PreferenceCategory>
</PreferenceScreen> 
Run Code Online (Sandbox Code Playgroud)

我的目标是以编程方式打开"pref_list",并将其显示给用户.我调查了这个主题,提供了这个解决方案:

// the preference screen your item is in must be known
PreferenceScreen screen = (PreferenceScreen) findPreference("pref_screen");

// the position of your item inside the preference screen above
int pos = findPreference("pref_list").getOrder();

// simulate a click / call it!!
screen.onItemClick( null, null, pos, 0 ); 
Run Code Online (Sandbox Code Playgroud)

这适用于没有PreferenceCategory的PreferenceScreen,但我不能让它适用于我的情况(当ListPreference位于PreferenceCategory中时).

如何根据我的情况修改此项?或者还有其他解决方案吗?

我在PreferenceCategory中找不到类似于PreferenceScreen的方法onItemClick().更改'pos'以获取getOrder()我的PreferenceCategory 的值也不起作用.

android android-preferences listpreference

5
推荐指数
1
解决办法
1404
查看次数