0
我想实现2部分首选项屏幕。如果复选框被点击,第一类应该锁定,第二类解锁。如果不是,则相反。现在我发现它只在我去上一个活动,然后到新的(sharedPreferences)时才有效。我应该覆盖哪些听众?CheckboxPreference onClick()
我想实现2部分首选项屏幕。如果复选框被点击,第一类应该锁定,第二类解锁。如果不是,则相反。现在我发现它只在我去上一个活动,然后到新的(sharedPreferences)时才有效。我应该覆盖哪些听众?CheckboxPreference onClick()
你可以尝试这样的:
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;
}
});
和禁用所需的类别。
我已经实现了我的偏好活动为延伸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
}
}
类