-1

我有PreferenceActivity,我有以下偏好:

    <Preference android:key="pref_test"
        android:title="@string/pref_test" 
        android:summary="@string/pref_test_description"
        android:enabled="true"
        android:persistent="true"
        android:defaultValue="false"/>

我如何从主要活动中调用它(即单击项目)?因此,我将不必重新编写onPreferenceClick代码。

我发现了类似的问题:How to open or simulation a click on an android Preference, created with XML, programmatically? ,但有问题findPreference

对于新的 DialogInterface.OnClickListener(){} 类型,方法 findPreference(String) 未定义

4

1 回答 1

0

看起来最好(也是最简单)的选项是使用 Extra boolean 启动 Preference 活动,然后应根据此额外值调用所有其他操作。就像是:

if (getIntent().getBooleanExtra("com.example.ShowExtraDialog", false)) {
       PreferenceScreen screen = (PreferenceScreen) findPreference("pref_key");
   int pos = findPreference("pref_billing_buy").getOrder();
   screen.onItemClick(null, null, pos, 0); 
}

感谢以下问题:findpreference undefined type

于 2012-05-01T16:32:55.060 回答