안드로이드 배우기---OnClickListener를 실현하는 세 가지 방법
3714 단어 프로그램 애의 안드로이드 학습의 길
2. 실현되는 세 가지 방식 (1) 익명 내부 클래스의 실현 형식:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println(" !");
}
});
컨트롤이 적은 경우 OnClickListener 클래스를 따로 만들 필요가 없습니다.
(2) 외부 클래스를 통한 구현 형식:
class MyOnClickListener implements OnClickListener{
@Override
// :
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, " ", Toast.LENGTH_SHORT).show();
}
}
button1.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, " Button1", Toast.LENGTH_SHORT).show();
}
});
button2.setOnClickListener(new MyOnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, " Button2", Toast.LENGTH_SHORT).show();
}
});
이런 방식은 일반적으로 비교적 적게 쓴다
(3) 인터페이스를 통한 구현 형식:
public class MainActivity extends Activity implements OnClickListener{
button.setOnClickListener(this);
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.xx:
...
...
}
}
}
이런 방식은 일반적으로 컨트롤이 비교적 많은 상황에서 switch 문장을 통해 서로 다른 단추를 서로 다른 방식으로 응답하는 데 쓰인다