내 PreferenceScreen에서 ListPreference를 검색하려면 어떻게합니까?PreferenceScreen 내 ListPreference 검색
다음과 같이 시도해 보았습니다. 둘 다 null 예외를 throw합니다.
findPreference (키) getPreferenceScreen() findPreference (키)
private void loadLayout(int appWidgetId) {
SharedPreferences.Editor shared_config = prefs.edit();
Layout layout = db_adapter.fetchLayout(appWidgetId);
...
ListPreference widget_text_color = (ListPreference) findPreference("widget_text_color");
widget_text_color.setValue(String.valueOf(layout.getTextColor()));
...
shared_config.commit();
}
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
...
<PreferenceCategory android:title="Layout/Output">
...
<ListPreference
android:key="widget_text_color"
android:title="Text color"
android:summary="Choose text color"
android:entries="@array/colors"
android:entryValues="@array/colors_rgb"
android:dialogTitle="Choose a color" />
...
</PreferenceCategory>
03-15 17. 50 : 42.250 : ERROR/AndroidRuntime (441) : 치명적인 예외 : 주 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : java.lang.RuntimeExcepti on : 활동을 시작할 수 없습니다. ComponentInfo {com.feral.widget/com.feral.widget.Prefs} : java.lang.NullPointerException 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : android.app. ActivityThread.performLaunchActivity (ActivityThread.java:1622) 03-15 17:50:42.250 : ERROR/AndroidRuntime (441) : android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1638) 03-15 17:50 : 42.250 : ERROR/AndroidRuntime (441) : android.app.ActivityThread.access $ 1500 (ActivityThread.java:117) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : android.app.ActivityThread $ H .handleMessage (ActivityThread.java:928) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : android.os.Handler.dispatchMessage (Handler.java:99) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : android.os.Looper.loop (Looper.java:123) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : android.app.ActivityThread.main (ActivityThread.java:3647) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : at java.lang.reflect.Method.invokeNative (네이티브 메소드) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : java.lang.reflect.Method.invoke (Method.java:507) 03- 15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441)) : at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : at dalvik.system.NativeStart.main (네이티브 메소드) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : 원인 : java.lang.NullPointerException 03-15 17:50:42. 250 : ERROR/AndroidRuntime (441) : com.feral.widget.Prefs.loadLayout (Prefs.java:234) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : com.feral.widget. Prefs.loadPreference (Prefs.java:267) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : com.feral.widget.Prefs.onCreate (Prefs.java:77) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047) 03-15 17 : 50 : 42.250 : ERROR/AndroidRuntime (441) : android.app.ActivityThread. performLaunchActivity (ActivityThread.java:1586)
예외와 함께 코드를 표시하십시오. – user432209
추가 된 함수 및 예외 – user634545
라인이 라인 234 –