我想实现一个2部分的首选项屏幕。如果复选框被点击,第一个类别应该锁定,第二个类别解锁。如果不是,则反转。现在,我发现只有当我转到上一个活动,然后转到新的(sharedPreferences)时,它才能工作。我应该重写哪个监听器以及如何重写?
发布于 2011-02-19 02:42:15
您可以尝试如下所示:
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;
}
});并禁用您所需的类别。
发布于 2011-02-19 02:50:08
我已经将我的首选活动实现为一个扩展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
}
}https://stackoverflow.com/questions/5045000
复制相似问题