【发布时间】:2012-04-14 09:38:11
【问题描述】:
我有一组按钮,它们的onClick 属性是“点击”,就像android:onClick="click" 一样。我在 android 2.2 中运行它
这是主活动中的点击功能。正如预期的那样,这个函数在onCreate 方法之外。
public void click(View v)
{
String s = et2.getText().toString();
switch(v.getId())
{
case R.id.b0 :
if(s.length() == 1 && s.charAt(0) == '0')
{
et2.setText("0");
et1.setText("0");
}
else
{
s = s + "0";
call(s);
}
break;
//Other cases
}
}
问题是每当我单击任何按钮时,应用程序都会停止工作(强制关闭)。
这是日志:
03-30 22:23:20.129:E/AndroidRuntime(1240):致命异常:主要 03-30 22:23:20.129: E/AndroidRuntime(1240): java.lang.IllegalStateException:无法执行的方法 活动 03-30 22:23:20.129: E/AndroidRuntime(1240): at android.view.View$1.onClick(View.java:3044) 03-30 22:23:20.129: E/AndroidRuntime(1240):在 android.view.View.performClick(View.java:3511) 03-30 22:23:20.129: E/AndroidRuntime(1240):在 android.view.View$PerformClick.run(View.java:14105) 03-30 22:23:20.129:E/AndroidRuntime(1240):在 android.os.Handler.handleCallback(Handler.java:605) 03-30 22:23:20.129:E/AndroidRuntime(1240):在 android.os.Handler.dispatchMessage(Handler.java:92) 03-30 22:23:20.129: E/AndroidRuntime(1240): 在
android.os.Looper.loop(Looper.java:137) 03-30 22:23:20.129: E/AndroidRuntime(1240):在 android.app.ActivityThread.main(ActivityThread.java:4424) 03-30 22:23:20.129:E/AndroidRuntime(1240):在 java.lang.reflect.Method.invokeNative(Native Method) 03-30 22:23:20.129:E/AndroidRuntime(1240):在 java.lang.reflect.Method.invoke(Method.java:511) 03-30 22:23:20.129: E/AndroidRuntime(1240):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 03-30 22:23:20.129: E/AndroidRuntime(1240): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 03-30 22:23:20.129:E/AndroidRuntime(1240):在 dalvik.system.NativeStart.main(本机方法)03-30 22:23:20.129: E/AndroidRuntime(1240):由以下原因引起: java.lang.reflect.InvocationTargetException 03-30 22:23:20.129: E/AndroidRuntime(1240):在 java.lang.reflect.Method.invokeNative(Native Method) 03-30 22:23:20.129:E/AndroidRuntime(1240):在 java.lang.reflect.Method.invoke(Method.java:511) 03-30 22:23:20.129: E/AndroidRuntime(1240):在 android.view.View$1.onClick(View.java:3039) 03-30 22:23:20.129: E/AndroidRuntime(1240): ... 11 更多 03-30 22:23:20.129: E/AndroidRuntime(1240):原因:java.lang.NullPointerException 03-30 22:23:20.129: E/AndroidRuntime(1240): 在 yadav.sanjay.calculator.CalculatorActivity.click(CalculatorActivity.java:63)
【问题讨论】:
-
click()应该是onClick()。 -
CalculatorActivity.java 的第 63 行是什么?
-
第 63 行:
String s=et2.getText().toString();
标签: java android button onclick