2011-02-18 20 views
0

我想實現2部分首選項屏幕。如果複選框被點擊,第一類應該鎖定,第二類解鎖。如果不是,則相反。現在我發現它只在我去上一個活動,然後到新的(sharedPreferences)時纔有效。我應該覆蓋哪些聽衆?CheckboxPreference onClick()

回答

5

你可以嘗試這樣的:

final Preference otherpref = (Preference) findPreference("otherpref"); 
final Preference pref = (Preference) findPreference("checkbox");   
pPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { 

    public boolean onPreferenceClick(Preference preference) { 
     otherPref.setSelectable(false); 
     Toast.makeText(getBaseContext(), "Some text", Toast.LENGTH_SHORT).show(); 
     return true; 
    } 
}); 

和禁用所需的類別。

1

我已經實現了我的偏好活動爲延伸PreferenceActivity和工具OnSharedPreferenceChangeListener

public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    Context context = getApplicationContext(); 
    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context); 
    settings.registerOnSharedPreferenceChangeListener(this); 
    } 

    @Override 
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { 
    // Check the checkboxes 
    } 
}