我有一个名为Checker的方法,当我点击按钮但我的应用程序停止工作时会调用它。我尝试添加try catch来查看异常,但我无法理解为什么它不起作用... 在方法下面我把错误的日志cat:
public void Checker()
{
EditText text = (EditText) findViewById(R.id.editText1);
int in = Integer.parseInt(text.getText().toString());
try{
if(MainActivity.result == in)
{
ProgressBar bar = (ProgressBar) findViewById(R.id.seekBar1);
MainActivity.progress = (MainActivity.progress + 1);
bar.setProgress(MainActivity.progress);
}
else
{
text.setBackgroundColor(Color.RED);
}
}catch(Exception e){System.out.println(e);}
}
logcat的:
FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not find a method Checker(View) in the activity class com.taffatech.kidsapp.GameActivity for onClick handler on view class android.widget.Button with id 'btnQuestion'
at android.view.View$1.onClick(View.java:3090)
at android.view.View.performClick(View.java:3574)
at android.view.View$PerformClick.run(View.java:14293)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4441)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
at dalvik.system.NativeStart.main(Native Method)
HERE:
Caused by: java.lang.NoSuchMethodException: Checker [class android.view.View]
at java.lang.Class.getConstructorOrMethod(Class.java:460)
at java.lang.Class.getMethod(Class.java:915)
at android.view.View$1.onClick(View.java:3083)
答案 0 :(得分:0)
您视图上的侦听器设置可能有错误
尝试通过代码设置监听器
来做到这一点喜欢
Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Checker();
}
});
答案 1 :(得分:0)
我不知道你在哪里调用这种方法,但似乎应用程序正在寻找:
void Checker(View)
但你正在实施这个:
void Checker()
您是否已调试应用程序,以确保它正在输入您创建的方法?
另一件事是,您应该按照惯例名称以小写字母开头的Java方法。我认为这不是问题,但你应该习惯。
希望这有帮助