我有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(){}
答案 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);
}