java.lang.IllegalStateExeption:在活动类中找不到方法finishA(View)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java.lang.IllegalStateExeption:在活动类中找不到方法finishA(View),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3122字,纯文字阅读大概需要5分钟。
内容图文
我是Android新手.我已经开始使用ActivityLifeCycle应用程序.在此,我有3个活动课程.从第一个活动中,我想在第一个活动中单击按钮时使用意图转到第二个活动类.但这给了错误.而且我已经导入了正确的android.view.View包.
之前有人问过同样的问题,但我没有解决办法,
这是容易出错的代码.
activity_main.xml中:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_marginTop="22dp"
android:layout_toRightOf="@+id/textView1"
android:onClick="startActivityB"
android:clickable="true"
android:text="startb" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="31dp"
android:onClick="finishA"
android:clickable="true"
android:text="FinishA" />
<Button
MainActivity.java :(这是第一个活动)
受保护的void startActivityB(View v){
Intent intent = new Intent(getApplicationContext(), Activity_B.class);
startActivity(intent);
}
protected void finishA(View v)
{
MainActivity.this.finish();
}
这是我在logcat中遇到的错误:
D/Avtivity_A(1333): onStart()of Activity_A started
D/Avtivity_A(1333): onResume()Activity_A started
D/AndroidRuntime(1333): Shutting down VM
W/dalvikvm(1333): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
E/AndroidRuntime(1333): FATAL EXCEPTION: main
E/AndroidRuntime(1333): java.lang.IllegalStateException: Could not find a method
finishA(View) in the activity class com.example.lifecycle.MainActivity for
onClick handler on view class android.widget.Button with id 'button2'
E/AndroidRuntime(1333): at android.view.View$1.onClick(View.java:2059)
E/AndroidRuntime(1333): at android.view.View.performClick(View.java:2408)
E/AndroidRuntime(1333): at android.view.View$PerformClick.run(View.java:8816)
E/AndroidRuntime(1333): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(1333): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(1333): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(1333): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(1333): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1333): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(1333): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(1333): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(1333): at dalvik.system.NativeStart.main(Native Method)
解决方法:
在活动的xml中,您定义了onClick处理程序,该名称是处理程序的函数名称.我认为您没有实现该功能.
即
在XML中,您有:
android:onClick="finishA"
在该类中,您必须实现一个函数:
public void finishA(View view)
{
}
不知道这是否是原因,但看起来像它.如果不是,则发布XML和类(它的相关部分).
更新
在您的问题中,错误引用的是button2,而您的XML是关于button1的,因此您应该向我们展示正确的文件.
更新
您的onClick处理程序受到了保护,但是如我上面显示的示例中所示,它必须是公开的.当我在我的应用程序中对此进行测试时,将其设置为受保护状态时也会遇到相同的错误.
内容总结
以上是互联网集市为您收集整理的java.lang.IllegalStateExeption:在活动类中找不到方法finishA(View)全部内容,希望文章能够帮你解决java.lang.IllegalStateExeption:在活动类中找不到方法finishA(View)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。