2014-09-24 4 views
1

내 설정 활동에서 ListPreference를 선택하여 결과 목록을 오름차순 또는 내림차순으로 정렬 한 후에는 선택한 값이 ListPreference에 표시되지 않습니다. 이 목록에 대한 내 코드는 다음과 같습니다. 또한이 문제의 스크린 샷을 첨부했습니다. 문제가 무엇인지, 내가 한 실수가 무엇인지 알려주세요. <ListPreference android:title="@string/pref_calllog_sorting" android:key="@string/pref_calllog_sorting_descending" android:defaultValue="@string/pref_calllog_sorting_descending" android:entryValues="@array/pref_calllog_sorting_values" android:entries="@array/pref_calllog_sorting_options"/> ! Screenshot for ListPreferenceListPreference에 선택된 값이 표시되지 않습니다.

답변

2

onPostCreate (Bundle savedInstanceState) 메소드에서 bindPreferenceSummaryToValue (findPreference (getString (R.string.pref_calllog_sorting_descending))));을 호출해야합니다. bindPreferenceSymmaryToValue (Preference preference) 메소드는 어플리케이션에 SettingActivity를 추가 할 때 자동으로 생성됩니다.

@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
    super.onPostCreate(savedInstanceState); 
    setupActionBar(); 
    bindPreferenceSummaryToValue(findPreference(
      getString(R.string.pref_calllog_sorting_descending))); 
} 

private static void bindPreferenceSummaryToValue(Preference preference) { 
    // Set the listener to watch for value changes. 
    preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener); 

    // Trigger the listener immediately with the preference's 
    // current value. 
    sBindPreferenceSummaryToValueListener.onPreferenceChange(preference, 
      PreferenceManager 
        .getDefaultSharedPreferences(preference.getContext()) 
        .getString(preference.getKey(), "")); 
} 
관련 문제