Я хочу реализовать экран предпочтений из 2 частей. Если флажок установлен, первая категория должна быть заблокирована, а вторая разблокирована. Если это не так, наоборот. Теперь я вижу, что это работает, только если я перехожу к предыдущей активности, а затем к новой (sharedPreferences). Какой слушатель я должен переопределить и как?
ФлажокPreference onClick()
Ответы (2)
Вы можете попробовать что-то вроде:
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;
}
});
И отключите нужные категории.
person
Maaalte
schedule
18.02.2011
Я реализовал свою предпочтительную активность как класс, который расширяет 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
}
}
person
Eric Nordvik
schedule
18.02.2011