首页 文章

一个按钮的多项任务

提问于
浏览
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 like


当我运行它时,它有一个错误java.lang.nullpointerexception . 我可以知道它的来源吗?


E / AndroidRuntime:FATAL EXCEPTION:main进程:com.sp.ez_mart,PID: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.access $ 800(ActivityThread.java:135)的机器人 . 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)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:515)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)在dalvik.system.NativeStart.main(本机方法)产生的原因:java.lang.Nu llPointerException在com.sp.ez_mart.NavigateImage.onCreate(NavigateImage.java:31)在android.app.Activity.performCreate(Activity.java:5231)在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)在机器人.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)在android.app.ActivityThread.access $ 800(ActivityThread.java:135)在android.app.ActivityThread $ 6.handleMessage(ActivityThread.java:1196)位于android.app.A.Toread.main的android.os.Handler.dispatchMessage(Handler.java:102)android.os.Looper.loop(Looper.java:136) ActivityThread.java:5017)在java.lang.reflect.Method.invokeNative(本机方法)在java.lang.reflect.Method.invoke(Method.java:515)在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller . 在dalvik.system.NativeStart.main(本机方法)的com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)上运行(ZygoteInit.java:779)

1 回答

  • 0

    堆栈跟踪清楚地告诉您错误在哪里@ NavigateImage.java Line#31

    看代码,好像你在下面的行中传递了错误 resource id . 也许你打算用 R.id.edit_destination

    EditText e = (EditText)findViewById(Edit_current);
    

    所以,我怀疑,它正在崩溃

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

    因为找不到 EditText e .

    注意:将来作为最佳实践,请使用描述性变量名称 .

相关问题