Java 找不到onButtonClick方法

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

我刚刚开始学习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_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" />