我有以下 XML。
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="@string/preference_xxx_category">
<CheckBoxPreference
android:title="@string/preference_xxx_dual_mode_title"
android:summary="@string/preference_xxx_dual_mode_summary"
android:key="xxxDualModePreference" />
</PreferenceCategory>
</PreferenceScreen>
我使用 GUI 将其加载为以下代码
public class Preferences extends SherlockPreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
this.getPreferenceManager().findPreference("xxxDualModePreference").setDefaultValue(Utils.isDualCoreDevice());
this.getPreferenceManager().findPreference("xxxDualModePreference").setEnabled(Utils.isDualCoreDevice());
// Once the GUI is shown, I realize my preference UI check box is not being ticked.
默认值应取决于设备 CPU 内核的数量。这就是为什么我不能在 XML 中指定默认值的原因。
但是,如果我在 Java 代码中指定默认值,我会意识到 UI 没有反映它,尽管这是我第一次启动我的应用程序。
还有其他我错过的步骤吗?
谢谢。