中持久我已閱讀here,首選項會自動保留。我試着按照說明操作,但複選框始終有其默認值。我的代碼去如下:首選項不會在android
1)我打開首屏菜單:
int id = item.getItemId();
if (id == R.id.action_settings) {
{
Intent myIntent = new Intent(this, PreferencesActivity.class);
startActivity(myIntent);
}
2)首片段類,加載設置:
public class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_screen);
}
}
3)和活動,加載片段:
public class PreferencesActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
}
偏好設置屏幕的xml:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference android:enabled="true"
android:title="@string/ShowAdsTitle"
android:summaryOn="@string/ShowAdsOnPreference"
android:selectable="true"
android:summaryOff="@string/ShowAdsOnPreference"
android:key="@string/value_showads_preference"/>
</PreferenceScreen>
不知怎的,我的設置不是永久性的。 android:key是爲我的每個設置設置的。
在此先感謝!
您是否也可以包含xml文件? – vandus
@vandus爲片段添加了xml – Anton
嘗試從'PreferenceActivity'中使用它,而不是使用其他'Activity'。 – CommonsWare