Java 找不到onButtonClick方法
我刚刚开始学习android。我收到了这个错误。请帮我解决这个问题 这是我的.xml文件Java 找不到onButtonClick方法,java,android,Java,Android,我刚刚开始学习android。我收到了这个错误。请帮我解决这个问题 这是我的.xml文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_m
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.sumit.myapplication.MainActivity"
tools:ignore="ExtraText">
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_alignLeft="@+id/editText2"
android:layout_alignStart="@+id/editText2"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="43dp"
android:id="@+id/textView"
android:textAppearance="@style/TextAppearance.AppCompat" />
<Button
android:text="Sum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="97dp"
android:id="@+id/button"
android:elevation="10dp"
android:layout_below="@+id/textView"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"
android:onClick="onButtonClick (MainActivity)" />
</RelativeLayout>
我得到了这个错误
E/EGL_仿真:tid 3738:eglSurfaceAttrib(1165):错误0x3009
(EGL_错误匹配)W/OpenGLRenderer:无法在上设置EGL_交换行为
曲面0x7f0d46d90c40,错误=EGL\U BAD\U匹配D/AndroidRuntime:关闭
关闭VM E/AndroidRuntime:致命异常:主
进程:com.example.sumit.myapplication,PID:3720
java.lang.IllegalStateException:在的父或祖先上下文中找不到方法onButtonClick(MainActivity)(View)
在视图类上定义的android:onClick属性
id为“button”的android.support.v7.widget.AppCompatButton
在android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327)中
在android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
在android.view.view.performClick上(view.java:5198)
在android.view.view$PerformClick.run(view.java:21147)
位于android.os.Handler.handleCallback(Handler.java:739)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:148)
位于android.app.ActivityThread.main(ActivityThread.java:5417)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:726)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
I/进程:发送信号。PID:3720 SIG:9应用程序终止
我该如何解决这个问题?
请帮助。使用android:onClick="onButtonClick"
而不是android:onClick="onButtonClick (MainActivity)"
视图参数由android传递。而不是
android:onClick="onButtonClick (MainActivity)"
替换为:
android:onClick="onButtonClick"
注意,使用上面的XML,Android将只在当前活动中查找onClick方法onButtonClick()。您的
stacktrace
解释了这一点:
在按钮单击(MainActivity)上找不到方法
没有名为的方法。名称不应包含(MainActivity)
部分
在.xml文件中,编写以下内容:
<Button
android:text="Sum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="97dp"
android:id="@+id/button"
android:elevation="10dp"
android:layout_below="@+id/textView"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"
android:onClick="onButtonClick" />
<Button
android:text="Sum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="97dp"
android:id="@+id/button"
android:elevation="10dp"
android:layout_below="@+id/textView"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"
android:onClick="onButtonClick" />