getDefaultSharedPreferences 대신 context.getSharedPreference를 사용하고 있습니다. 수단 :onSharedPreferenceChanged getDefaultSharedPreferences를 사용하지 않고
SharedPreferences checkboxSetting = context.getSharedPreferences(
"myPreferenceDB", Context.MODE_PRIVATE);
boolean flag = checkboxSetting.getBoolean("checkboxKey",true);
그리고 preference.xml :
<CheckBoxPreference
android:key="checkBoxPrefff"
android:title="@string/title"
android:defaultValue="true"/>
응용 프로그램 설정은 내가 체크 또는 체크하지의 값을 취득하려는 checkboxpreference 있습니다.
이 방법이 유용할까요?
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
if (key.equalsIgnoreCase("checkBoxPrefff")) {
sharedPreferences.getBoolean(key,true);
}
}
sharedPreferences는 기본 데이터베이스 (..._ preference.xml) 또는 정의 된 데이터베이스 ("myPreferenceDB")를 사용합니까? 키가 "checkboxKey"또는 null입니까?
내가
SharedPreferences temp = context.getSharedPreferences(
"myPreferenceDB", Context.MODE_PRIVATE);
boolean flag = temp.getBoolean("checkboxKey",true);
잘못이고 (사실) defValue을 돌아 오기 같은 값을 얻을 할 때 때문입니다. 하지만 같은 사용하면
SharedPreferences temp = PreferenceManager.getDefaultSharedPreferences(context);
boolean flag = temp.getBoolean("checkboxKey",true);
그것은 작동합니다.
"sharedPreferences는 기본 데이터베이스 (... _ preference.xml) 또는 정의 된 데이터베이스 ("myPreferenceDB ")"를 사용합니까? 이는 function_에 무슨 뜻이 있는지에 달려 있습니다 ._ 또한 열쇠'checkboxKey' 또는'checkBoxPrefff'도 있습니다. 또한 '같음'이라니? _equalsIgnoreCase_? –