我遇到了问题,我的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
为什么我会收到此异常?
答案 0 :(得分:1)
我认为这是主要课程中图像声明的问题。
答案 1 :(得分:0)
您使用xml编码进行自定义警报对话框意味着如何从主xml调用? 你有没有在任何地方调用上面的xml类?
参考以下链接
http://www.mkyong.com/android/android-custom-dialog-example/