我有一组按钮,他们的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):at android.view.View.performClick(View.java:3511)03-30 22:23:20.129: E / AndroidRuntime(1240):at android.view.View $ PerformClick.run(View.java:14105)03-30 22:23:20.129:E / AndroidRuntime(1240):at android.os.Handler.handleCallback(Handler.java:605)03-30 22:23:20.129:E / AndroidRuntime(1240):at android.os.Handler.dispatchMessage(Handler.java:92)03-30 22:23:20.129:E / AndroidRuntime(1240):at android.os.Looper.loop(Looper.java:137)03-30 22:23:20.129: E / AndroidRuntime(1240):at android.app.ActivityThread.main(ActivityThread.java:4424)03-30 22:23:20.129:E / AndroidRuntime(1240):at java.lang.reflect.Method.invokeNative(Native Method)03-30 22:23:20.129:E / AndroidRuntime(1240):at java.lang.reflect.Method.invoke(Method.java:511)03-30 22:23:20.129: E / AndroidRuntime(1240):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) 03-30 22:23:20.129:E / AndroidRuntime(1240):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)03-30 22:23:20.129:E / AndroidRuntime(1240):at dalvik.system.NativeStart.main(Native Method)03-30 22:23:20.129: E / AndroidRuntime(1240):引起: java.lang.reflect.InvocationTargetException 03-30 22:23:20.129: E / AndroidRuntime(1240):at java.lang.reflect.Method.invokeNative(Native Method)03-30 22:23:20.129:E / AndroidRuntime(1240):at java.lang.reflect.Method.invoke(Method.java:511)03-30 22:23:20.129: E / AndroidRuntime(1240):at 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):at yadav.sanjay.calculator.CalculatorActivity.click(CalculatorActivity.java:63)
答案 0 :(得分:8)
引起:java.lang.NullPointerException, 通常,这意味着您的员工尚未初始化。 检查第63行附近的代码。
答案 1 :(得分:0)
检查您的et2
是否已初始化。如果您使用findViewById()
,请检查setContent()
之后是否这样做。
答案 2 :(得分:0)
尝试将第63行的代码更改为两行,如下所示。
String s; //you should probably change s to something less common like calS or the like
s = et2.getText().toString();
我认为另一件可能是问题的事情是et2从未被初始化。确保已初始化et2。