나는 쇼 환경 설정 화면에 대한 다음과 같은 코드를 가지고 :활동에서 환경 설정 값에 액세스하는 방법은 무엇입니까?
Button showPreferences=(Button)findViewById(R.id.buttonShowPreferences);
showPreferences.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(MainActivity.this, PreferencesActivity.class));
}
});
Button logPreferences=(Button)findViewById(R.id.buttonLogPreferences);
logPreferences.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String editText=prefs.getString("edit_text", "default_edit_text_value");
boolean checkBox=prefs.getBoolean("check_box", true);
String list=prefs.getString("list", "default_list_value");
Log.i("edit_text_value", editText);
Log.i("check_box_value", String.valueOf(checkBox));
Log.i("list_value", list);
}
});
당신은 두 번째 버튼은 환경 설정에서 값을 얻기 위해 사용된다 볼 수 있지만 문제가 같이 나는에서 항상 디폴트 값을 가지고 getString(), getBoolean() 메소드의 두 번째 매개 변수! PreferenceActivity를 클래스에 대한
레이아웃 :
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="first_screen_key"
android:summary="First summary"
android:title="First title" >
<CheckBoxPreference
android:persistent="true"
android:title="Check Box Title"
android:key="check_box_key"
android:defaultValue="false"/>
<ListPreference
android:persistent="true"
android:title="List Title"
android:key="list_key"
android:entries="@array/entries"
android:defaultValue="second_value"
android:entryValues="@array/entries_values"/>
<EditTextPreference
android:persistent="true"
android:title="Edit Text Title"
android:key="edit_text_key"
android:defaultValue="Edit Text Value"/>
</PreferenceCategory>
</PreferenceScreen>
을 함께 "edit_text"를 교체해야 http://stackoverflow.com/questions/ 3907830/android-checkboxpreference-default-value) 게시물이 도움이 될 수 있습니다. –