2014-01-17 9 views
0

Holoeverywhere 라이브러리를 사용하고 있습니다. 나는 사용자가 데이트를 고르는 환경을 가져야한다. Android Holoeverywhere DatePreference 오류

01-17 23:11:10.719: E/AndroidRuntime(26307): FATAL EXCEPTION: main 
01-17 23:11:10.719: E/AndroidRuntime(26307): java.lang.RuntimeException: Unable to start activity ComponentInfo{dev.gauss.istrabike/dev.gauss.istrabike.settings.UserProfilePreferencesActivity}: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.ActivityThread.access$700(ActivityThread.java:134) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.os.Looper.loop(Looper.java:137) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.ActivityThread.main(ActivityThread.java:4867) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at java.lang.reflect.Method.invokeNative(Native Method) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at java.lang.reflect.Method.invoke(Method.java:511) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at dalvik.system.NativeStart.main(Native Method) 
01-17 23:11:10.719: E/AndroidRuntime(26307): Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.SharedPreferencesImpl.getLong(SharedPreferencesImpl.java:228) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference._SharedPreferencesImpl_XML.getLong(_SharedPreferencesImpl_XML.java:263) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference._SharedPreferencesImpl_XML.getLong(_SharedPreferencesImpl_XML.java:263) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.Preference.getPersistedLong(Preference.java:412) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.DatePreference.onSetInitialValue(DatePreference.java:144) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.Preference.dispatchSetInitialValue(Preference.java:178) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.Preference.onAttachedToHierarchy(Preference.java:607) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.PreferenceGroup.addPreference(PreferenceGroup.java:74) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:40) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:1) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.app.GenericInflater.rInflate(GenericInflater.java:262) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.app.GenericInflater.rInflate(GenericInflater.java:263) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.app.GenericInflater.inflate(GenericInflater.java:194) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.app.GenericInflater.inflate(GenericInflater.java:164) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.app.GenericInflater.inflate(GenericInflater.java:158) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:384) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at org.holoeverywhere.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:284) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at dev.gauss.istrabike.settings.UserProfilePreferencesActivity.onCreate(UserProfilePreferencesActivity.java:68) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.Activity.performCreate(Activity.java:5047) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
01-17 23:11:10.719: E/AndroidRuntime(26307): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056) 
01-17 23:11:10.719: E/AndroidRuntime(26307): ... 11 more 

나는 XML로부터 설정을 제거

모든 것이 잘 작동 파일 : 나는 다음과 같은 오류가 환경 설정 화면을 시작할 때 나는이

<org.holoeverywhere.preference.DatePreference 
     android:key="preference_birth_date" 
     android:summary="@string/preference_birth_date" 
     android:title="@string/preference_birth_date" /> 

처럼 내 파일이 환경 설정을했습니다. 필자는 아직 코드에서 아무 것도하지 않은 XML 환경 설정 만 설정합니다.

답변

1

귀하의 상점에 키가 preference_birth_date 인 문자열 값이 있습니다. 같은 키를 사용하여 EditTextPreference을 먼저 사용하면 발생합니다. 앱 데이터를 지우거나 키를 다른 것으로 변경하십시오.

+0

오, 확인 ... 그게 효과가 있습니다. 고맙습니다 ... 내 인생을 구하십시오. :) – Tooroop

+0

btw ... onDateSetListener를 설정할 때 onDateSet() 메서드에서 월 값을 가져올 때 값은 항상 1보다 작습니다. 1 월을 설정하면 월 값은 0이고, 12 월을 설정하면 월 값은 11입니다 ... 의도 된 동작입니까? – Tooroop

0

아직 구현되지 않은 'ComponentInfo'클래스는 string을 길게 캐스팅하는 데 문제가 있거나 해당 클래스의 코드를 조사하거나 'ComponentInfo'의 하위 클래스에서 'onCreate'메서드를 재정의하는 것으로 보입니다.

+0

저는 ComponentInfo와 아무 관계가 없다고 생각합니다. – Tooroop