android - android 中的 java.lang.reflect.invocationtargetexception

标签 android invocationtargetexception

我遇到了一个问题,我的 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

为什么我会收到此异常?

最佳答案

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

关于android - android 中的 java.lang.reflect.invocationtargetexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018977/

相关文章:

java - 为什么 NativeMethodAccessorImpl 声明 InitationTargetException

Java `InvocationTargetException` 通过反射进行类实例化

android - 来自服务的 overridePendingTransition 给出错误

android - 图像链接存储在sqlite DB中,如何缓存

android - 当我在 api 大于 19 的设备上运行我的应用程序时,它给我错误

android - 3686416 字节分配内存不足,android.view.InflateException : Binary XML file line #1: Error inflating class <unknown>

java.lang.reflect.InvocationTargetException - 确定实际错误?

android - 标题与抽屉导航 Activity 的第一个元素之间没有空格

android - 除了 Droid Phone (Galaxy S4) 上的互联网浏览器外,响应式 CSS 可以在任何地方使用

android - 在服务运行时创建新 Activity