Android Spinner получает исключение NullPointerException - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь использовать следующее для создания Spinner.Но я получаю NullPointerException на линии

        Register.registerlist.setAdapter(spinnernamelist);  

Кто-нибудь может мне помочь?Спасибо.

ArrayAdapter<String> spinnernamelist= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, Register.namelist);
    spinnernamelist.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    Register.registerlist=(Spinner)findViewById(R.id.showlist);
    Register.registerlist.setAdapter(spinnernamelist);   

Мой вывод Logcat -

11-22 07:43:30.881: E/AndroidRuntime(1200): java.lang.IllegalStateException: Could not execute method of the activity
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.view.View$1.onClick(View.java:3019)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.view.View.performClick(View.java:3460)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.view.View$PerformClick.run(View.java:13955)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.os.Handler.handleCallback(Handler.java:605)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.os.Handler.dispatchMessage(Handler.java:92)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.os.Looper.loop(Looper.java:137)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.app.ActivityThread.main(ActivityThread.java:4340)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at java.lang.reflect.Method.invokeNative(Native Method)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at java.lang.reflect.Method.invoke(Method.java:511)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at dalvik.system.NativeStart.main(Native Method)
11-22 07:43:30.881: E/AndroidRuntime(1200): Caused by: java.lang.reflect.InvocationTargetException
11-22 07:43:30.881: E/AndroidRuntime(1200):     at java.lang.reflect.Method.invokeNative(Native Method)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at java.lang.reflect.Method.invoke(Method.java:511)
11-22 07:43:30.881: E/AndroidRuntime(1200):     at android.view.View$1.onClick(View.java:3014)
11-22 07:43:30.881: E/AndroidRuntime(1200):     ... 11 more
11-22 07:43:30.881: E/AndroidRuntime(1200): Caused by: java.lang.NullPointerException
11-22 07:43:30.881: E/AndroidRuntime(1200):     at Picture.Capture.Register.callPictureTake(Register.java:56)

Ответы [ 2 ]

2 голосов
/ 22 ноября 2011

Весьма вероятно, что Register.registerlist равно нулю, и вы получаете исключение нулевого указателя при попытке запустить метод для него.

Поэтому проверьте, правильно ли инициализирована Register.registerlist

0 голосов
/ 22 ноября 2011

spinnernamelist явно не равно нулю, поэтому Register.registerlist должно быть равно нулю. findViewById(...) вернет ноль, если не найдет представление с этим идентификатором в родительском макете действия. Убедитесь, что идентификатор, на который вы ссылаетесь, действительно находится в действии, из которого вы вызываете его.

...