2016-11-12 1 views
1

나는 안드로이드를 배우기 시작했습니다. 이 오류가 발생합니다. 제발 해결하도록 도와주세요.onButtonClick 메서드를 찾을 수 없습니다.

이 내 .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> 

입니다 그리고 이것은 내 된 .java 파일

package com.example.sumit.myapplication; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 


    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void onButtonClick(View v) 
    { 
     TextView t = (TextView)findViewById(R.id.textView); 
     t.setText("sumit"); 

    } 
} 

그리고이 오류를 얻고있다.

E/EGL_emulation : TID 3738 : eglSurfaceAttrib (1165) : 오류 됨 0x3009 (EGL_BAD_MATCH) W/OpenGLRenderer : 표면 0x7f0d46d90c40 에러 = EGL_BAD_MATCH D/AndroidRuntime에 EGL_SWAP_BEHAVIOR 설정 실패 : VM E 아래쪽 을 종료/AndroidRuntime : 치명적인 예외 : 주 프로세스 : com.example.sumit.myapplication, PID : 3720 java.lang.IllegalStateException : 부모 또는 조상에서 onButtonClick (MainActivity) (보기) 메서드를 찾을 수 없습니다. 의 컨텍스트 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 (보기 .java : 5198) android.view.View $ PerformClick.run (View.java:21147) (android.os.Handler.handleCallback (Handler.java:739) at android.os.Handler.dispatchMessage (Handler. .java : 95) android.os.Looper.loop (Looper.java:148)에서 android.app.ActivityThread.main (ActivityThread.java:5417) at java.lang.reflect.Method.invoke (네이티브 메서드) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) I/Process : 보내는 신호. PID : 3720 SIG : 9 응용 프로그램이 종료되었습니다.

어떻게 수정합니까? 도와주세요.

답변

1

사용

android:onClick="onButtonClick" 

대신

android:onClick="onButtonClick (MainActivity)" 

보기 매개 변수는 안드로이드에 의해 전달됩니다.

1

대신

android:onClick="onButtonClick (MainActivity)" 

의 교체 : 위의 XML과 함께, 안드로이드는 현재 활동에)합니다 (온 클릭 방법 onButtonClick를 찾을 것

android:onClick="onButtonClick" 

참고.

1

음.당신의 stacktrace는 설명 :

이 방법 onButtonClick 이름의 방법은 없습니다 (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" /> 
관련 문제