2012-05-01 23 views
-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 simulate a click on an android Preference, created with XML, programmatically?,但有問題findPreference

的方法findPreference(字符串)是未定義的類型新 DialogInterface.OnClickListener(){}

+0

嘗試尋找在devguide有關首選項的詳細信息:[http://developer.android.com/reference/android/app/Activity。 html#SavingPersistentState](http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState) – thepoosh

+0

@Thepoosh,我不是在談論獲取保存的價值。我正在討論'點擊'首選項中的按鈕(在結果對話框中應該顯示)。 –

+0

然後您應該使用'addPreferencesFromResource(R.xml.prefs);' – thepoosh

回答

0

看起來最好的(也是最簡單的)選項是使用Extra布爾值啓動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