在安卓系统中出现了 java.lang.reflect.invocationtargetexception 错误

4
我将翻译如下:

我遇到了一个问题,我的XML文件如下所示

<ImageView
    android:id="@+id/edt_order"
    android:layout_width="50dp"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/separator_bottom"
    android:background="#fff"
    android:clickable="true"
    android:onClick="clickHandler"
    android:src="@drawable/edit_button" />

<ImageView
    android:id="@+id/save_change_order_id"
    android:layout_width="100dp"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/separator_bottom"
    android:background="#fff"
    android:clickable="true"
    android:visibility="gone"
    android:onClick="clickHandler"
    android:src="@drawable/save_button" />

实际上这是定义自定义警告对话框的XML的一部分。我希望当我点击第一个ImageView(android:id="@+id/edt_order")时,它的可见性变为Invisible,并在该ImageView的位置设置另一个ImageView(android:id="@+id/save_change_order_id")

为此,我在Java文件中编写了以下代码:

public void clickHandler(View v) {

    if (v.getId() == R.id.edt_order) {                                  
        System.out.println(" edit buton click");                    
        System.out.println("Click my Order");
        img_v_save_change_order_var.setVisibility(ImageView.VISIBLE);
        img_btn_edit_order_var.setVisibility(ImageView.INVISIBLE);
        int jcount = 0;   
        // save_change_order_id   
        jcount = countjournals();             
        System.out.println("jcount = " + jcount);              

        if (jcount < 1) {             
            alertShow();   
        } else {
            intiliazeOrderListDialog();                           
        }
    }               
}

但是我遇到了以下异常:

 01-09 06:12:14.550: D/AndroidRuntime(1981): Shutting down VM
 01-09 06:12:14.550: W/dalvikvm(1981): threadid=1: thread exiting with uncaught exception (group=0xb3ab3b90)
 01-09 06:12:14.730: E/AndroidRuntime(1981): FATAL EXCEPTION: main
 01-09 06:12:14.730: E/AndroidRuntime(1981): Process: com.example.demoekot, PID: 1981
 01-09 06:12:14.730: E/AndroidRuntime(1981): java.lang.IllegalStateException: Could not execute method of the activity
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.view.View$1.onClick(View.java:3814)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.view.View.performClick(View.java:4424)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.view.View$PerformClick.run(View.java:18383)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.os.Handler.handleCallback(Handler.java:733)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.os.Handler.dispatchMessage(Handler.java:95)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.os.Looper.loop(Looper.java:137)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.app.ActivityThread.main(ActivityThread.java:4998)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at java.lang.reflect.Method.invokeNative(Native Method)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at java.lang.reflect.Method.invoke(Method.java:515)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at dalvik.system.NativeStart.main(Native Method)
 01-09 06:12:14.730: E/AndroidRuntime(1981): Caused by: java.lang.reflect.InvocationTargetException
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at java.lang.reflect.Method.invokeNative(Native Method)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at java.lang.reflect.Method.invoke(Method.java:515)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at android.view.View$1.onClick(View.java:3809)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    ... 11 more
 01-09 06:12:14.730: E/AndroidRuntime(1981): Caused by: java.lang.NullPointerException
 01-09 06:12:14.730: E/AndroidRuntime(1981):    at com.example.demoekot.MainScreen.clickHandler(MainScreen.java:428)
 01-09 06:12:14.730: E/AndroidRuntime(1981):    ... 14 more

为什么我会收到这个异常呢?

第428行MainaScreen.java是什么? - Raghunandan
由于在第428行代码中出现了空指针异常,导致程序出错。 - laalto
@PriyaSingh img_v_save_change_order_var 是空的。请发布您初始化代码的位置。 - Raghunandan
@Raghunandan.. 我在onCreate()块中初始化它,如下所示 img_v_save_change_order_var = (ImageView)findViewById(R.id.save_change_order_id); - Priya Singh
@PriyaSingh 编辑您的帖子并发布代码。 - Raghunandan
显示剩余3条评论
2个回答

1
我认为这是您主类中图像声明的问题。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接