1
서비스를 시작할 때 특정 설정 (부울)을 확인해야합니다.XML에서 기본값 가져 오기 (작동하지 않음)
XML 코드 :
<CheckBoxPreference android:title="Enable Sleep" android:defaultValue="false" android:key="checkbox_preference"/>
자바 코드 :
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean sleepEnabled = prefs.getBoolean("checkbox_preference", true);
경우 (sleepEnabled) {
// 코드
}
다음 코드를 확인하시기 바랍니다 이자형 사실, XML의 기본값은 "false"입니다. 모든 서비스가 시작될 때마다 "true"가됩니다. "getBoolean()"메서드의 매개 변수를 "true"로 설정했기 때문에이 사실을 알았지 만 확인란의 실제 값이 필요합니다.
왜 서비스를 시작할 때 항상 "true"가됩니까?
p.s 설정으로 이동하여 확인란의 값을 변경하면 문제가 없습니다. 그런 다음 서비스를 다시 시작하면 실제 값을 가져옵니다. 그렇다면 XML에 실제 DEFAULT 값을 설정하는 방법은 무엇입니까?
당신이 getBoolean에 false를 전달 때 발생 :
하고 문서를 살펴? –
나는 거짓을 얻는다. 하지만 XML 코드 때문에 "자연스러운"false가 XML에서 나오지는 않습니다. 내가 무슨 뜻인지 아는 경우 .. –
및 응용 프로그램에서 확인란을 선택하면 true를 반환합니까? –