【发布时间】:2021-03-31 15:35:47
【问题描述】:
是否有人使用过 Android 中的 SwitchPreference 类并知道如何设置默认值?我已经以编程方式实现了它:
SwitchPreference switch = new SwitchPreference(this);
switch.setKey("preference_my_key");
switch.setTitle(R.string.preference_title_my_title);
switch.setSummary(R.string.preference_summary_my_summary);
Boolean isChecked = Manager.myMethodIsChecked(MyActivity.this);
switch.setChecked( isChecked );
switch.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
try {
boolean selected = Boolean.parseBoolean(newValue.toString());
if ( !selected ) {
//do something
}
} catch (Throwable e) {
e.printStackTrace();
}
return true;
}
});
category.addPreference(switch);
首选项将所有值保存到其 XML 文件中:app_package_name_preferences.xml。第一次加载应用程序时,开关具有默认的“false”值。但有时我需要将默认值设为“true”。我尝试了几种方法,但没有任何效果。
switch.setChecked( true );
switch.setDefaultValue(true);
【问题讨论】:
-
您可能希望更具体地了解您想要实现的目标。而上面代码中的“switch”不是布尔值,因此不能设置为true或false。
标签: java android android-preferences