2013-01-09 6 views
-1

나는 안드로이드 프로그래밍에 새로운 기능이 있습니다. 나는 이벤트 처리를 할 수있는 많은 방법을 볼 수 있지만, 나는 그것이 처리 클래스 이름에 오류가주는 핸들러 클래스를 호출하여 작업을 수행하려고하면이 클래스는 추상 형식이어야한다라고이 어서자바 안드로이드 핸들러 호출

package com.example.test; 

import android.app.Activity; 
import android.content.DialogInterface.OnClickListener; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //attach an instance of HandleClick to the Button 
     findViewById(R.id.button1).setOnClickListener(new HandleClick()); 
    }  

    private class HandleClick implements OnClickListener{ 
     public void onClick(View arg0) { 
      Button btn = (Button)arg0; //cast view to a button 
      // get a reference to the TextView 
      TextView tv = (TextView) findViewById(R.id.textview1); 
      // update the TextView text 
      tv.setText("You pressed " + btn.getText()); 
     } 
    } 
} 

"HandleClick" 오류?

나는 왜이 오류를 줄 수 있는지 이해하지 못해 어느 누구도 나를 도울 수 있습니까?

답변

2

잘못된 OnClickListener 클래스입니다. 당신은

import android.content.DialogInterface.OnClickListener; 

당신은 필요가 있습니다

import android.view.View.OnClickListener; 

향후 참조를 들어, 당신이 얻을 오류가 "유형은 ... 상속 된 추상 메소드를 구현해야합니다"입니다. 당신이 (당신이 onClick(View)이 있기 때문에)을 주도해야 DialogInterface의 OnClick이

0

이 간단 & 사용이,

b1 = (Button) findViewById(R.id.button1); 
TextView tv = (TextView) findViewById(R.id.textview1); 
b1.setOnClickListener(new OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     Toast msg = Toast.makeText(getBaseContext(), 
     "You have clicked Button 1", Toast.LENGTH_LONG); 
     msg.show(); 
     tv.setText("You pressed " + btn.getText()); 
    } 
}); 
0

가져온 확인이 잘못된 가져 오기 것을 통지 구현해야하기 때문입니다 잘못된 OnClickListener가 있다면 android.view.View에서 가져와야합니다.

관련 문제