0
EditText e = (EditText)findViewById(Edit_current); 
    Spinner s = (Spinner)findViewById(R.id.edit_destination); 
    navigatebut = (Button) findViewById(R.id.navigate); 
    final String current = e.getText().toString(); 
    final String dest = s.getSelectedItem().toString(); 
    navigatebut.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      //to do your drawable 
      if (current.equals("Entrance") && dest.equals("Vegetables")) { 
       layout.setImageResource(R.drawable.entrance_vege);; 
       //do something 
      } 

     } 
    }); 
}} 

How it looks likeMultiple задача с одной кнопкой


Когда я запускаю это, он имеет java.lang.NullPointerException ошибки. Могу я узнать, откуда это?


Е/AndroidRuntime: неустранимый: Основной процесс: com.sp.ez_mart, ПИД: 17820 java.lang.RuntimeException: Невозможно запустить активность ComponentInfo {com.sp.ez_mart/com.sp. ez_mart.NavigateImage}: java.lang.NullPointerException в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2195) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2245) на android.app.ActivityThread. доступ $ 800 (ActivityThread.java:135) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1196) на android.os.Ha ndler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:136) на android.app.ActivityThread.main (ActivityThread.java:5017) на java.lang.reflect. Method.invokeNative (собственный метод) по адресу java.lang.reflect.Method.invoke (Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:779) at com .android.internal.os.ZygoteInit.main (ZygoteInit.java:595) at dalvik.system.NativeStart.main (родной метод) Вызвано: java.lang.NullPointerException at com.sp.ez_mart.NavigateImage.onCreate (NavigateImage.java:31) на android.app.Activity.performCreate (Activity.java:5231) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1087) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2159) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2245) на android.app.ActivityThread.access $ 800 (ActivityThread.java:135) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1196) на android.os.Handler.dispatchMessage (Handler.java:102) на android.os.Looper.loop (Looper.java:136) на android.app.ActivityThread.main (ActivityThread.java:5017) на java.lang.reflect.Method.invokeNative (собственный метод) на java. lang.reflect.Method.invoke (Method.java: 515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:595) at dalvik.system. NativeStart.main (Native Method)

+0

'com.sp.ez_mart.NavigateImage.onCreate (NavigateImage.java:31)' что находится в строке # '31'? –

ответ

0

трассировка стека ясно говорит вам, где ошибка @NavigateImage.java Line#31

Глядя на код, кажется, что вы передаете неправильный идентификатор ресурса в следующую строку. Может быть вы имели в виду использовать R.id.edit_destination

EditText e = (EditText)findViewById(Edit_current); 

Итак, я подозреваю, что это происходит сбой из

final String current = e.getText().toString(); 

Потому что он не может найти EditTextе.

ПРИМЕЧАНИЕ: В будущем, как наилучшей практике, используйте имена описательных переменных.

 Смежные вопросы

  • Нет связанных вопросов^_^