如何从主要活动中调用偏好操作?

时间:2012-05-01 13:18:09

标签: android android-preferences

我有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 simulate a click on an android Preference, created with XML, programmatically?,但findPreference存在问题:

  

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

1 个答案:

答案 0 :(得分: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