2011-09-11 4 views
2

을 XML 파일에 표시합니다 (슬라이더가 작동 함). 그러나 OK 버튼을 클릭하면 값이 사라지는 것처럼 보입니다. SeekBarPreference가 그 값을 유지하지 못하는 것 같습니다

<?xml version="1.0" encoding="UTF-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
    <SeekBarPreference android:key="NOTE_MINIMUM" 
     android:summary="Set the lowest note in the playback sound" 
     android:max="125" 
     android:title="Lowest note" 
     android:persistent="true" 
     android:defaultValue="25" /> 

    <CheckBoxPreference android:key="COLOR_CODING" 
     android:title="Show playback progress bar" 
     android:summary="string/color_coding_summary" 
     android:defaultValue="true" /> 
</PreferenceScreen> 

내 코드에서 COLOR_CODING 필드의 값을 얻을 수 있지만, 알 수없는 필드로 돌아 오는 NOTE_MINIMUM 필드가 사용하지 않는 ... 내 XML 파일입니다 prefs.getInt("NOTE_MINIMUM", -11);

하지만 문제는 환경 설정 대화 상자에 있다고 생각합니다. COLOR_CODING 상자를 확인한 다음 닫고 PreferencesScreen을 열면 상태가 유지됩니다. NOTE_MINIMUM 대화 상자에서 슬라이더를 움직이면 (그리고 OK 클릭) 응용 프로그램을 닫은 상태로 다시 실행하면 응용 프로그램이 초기화 될 때의 슬라이더가 해당 트랙의 시작 부분에 슬라이더와 함께 표시됩니다.

누구든지이 문제를 도와 줄 수 있습니까?

답변

0

답변 됨.

결국 나는 (누군가의 것) 잘라내어 붙여 넣은 SeekBarPreference 코드를 만들어서 api 클래스가 아닌 내 App 클래스의 클래스로 만들었습니다.

그러나 이는 해결 방법이 아닙니다.

여전히 Android SeekBarPreference가 이해가되지만 Android CheckBoxPreference가 (그 상태를 캡처하는 데 필요한 추가 앱 코드 리스너없이) 동일한 방식으로 그 결과를 저장하지 않습니다.

나는 여전히 자신의 코드가이 롤을 다른 사람들이 사용하는 방법 인 것으로 보이는 다른 답변을보고 싶습니다.

관련 문제