私は特別な好みのレイアウトを作りました。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:key="pref_sound"
android:title="@string/pref_sound"
android:summary="@string/pref_sound_summ"
android:defaultValue="true" />
<CheckBoxPreference
android:key="pref_vibro"
android:title="@string/pref_vibro"
android:summary="@string/pref_vibro_summ"
android:defaultValue="true" />
<CheckBoxPreference
android:key="pref_screen"
android:title="@string/pref_screen"
android:summary="@string/pref_screen_summ"
android:defaultValue="true" />
</menu>
そしてそのための活動。
package com.actionandresttimer;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class Prefs extends PreferenceActivity {
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.cboxpreferenses);
}
}
メインアクティビティからメニュー/設定を介してその設定アクティビティを開始でき、機能します。アプリを閉じて再度起動すると、すべての変更が保存されます。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.main, menu);
//return true;
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
//inflater.inflate(R.menu.menu, menu);
inflater.inflate(R.menu.main, menu);
return true;
}
しかし、私が電話しようとしているときgetPreferences
、それはうまくいきません
public void getPrefs() {
// sPref = getPreferences(MODE_PRIVATE);
// sPref = PreferenceManager.getDefaultSharedPreferences(Prefs);
sPref = this.getSharedPreferences("com.Prefs", Context.MODE_PRIVATE);
cBoxSoundStatus = sPref.getBoolean("pref_sound", true);
cBoxVibroStatus = sPref.getBoolean("pref_vibro", true);
cBoxScreenStatus = sPref.getBoolean("cpref_screen", true);
}
デフォルトのプリファレンス設定しか表示されません。私のブール値はに設定されてtrue
いますが、設定アクティビティレイアウトでは次のように表示されますfalse
Android Developer Web サイトを試してみましたが、Java プログラミングは初めてで、公式ドキュメント Web サイトから情報を取得する方法がわかりません。