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