btnButton.setOnClickListener(new MyListener());
class MyListener implements OnClickListener {
@Override
public void onClick(View v) {
System.out.println("內部類響應點擊事件");
}
}
如果是多個按鈕點擊事件,可以用過switch 判斷:
btnButton1 = (Button) findViewById(R.id.btnButtonA);
btnButton1.setOnClickListener(new MyListener());
btnButton2 = (Button) findViewById(R.id.btnButtonB);
btnButton2.setOnClickListener(new MyListener());
btnButton3 = (Button) findViewById(R.id.btnButtonC);
btnButton3.setOnClickListener(new MyListener());
class MyListener implements OnClickListener {
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.btnButtonA:
System.out.println("內部類響應點擊事件btnButtonA");
break;
case R.id.btnButtonB:
System.out.println("內部類響應點擊事件btnButtonB");
break;
case R.id.btnButtonC:
System.out.println("內部類響應點擊事件btnButtonC");
break;
}
}
}
2,匿名內部類btnButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("匿名內部類響應按鈕點擊事件");
}
});
3,佈局文件夾定義事件屬性,並在activity中聲明方法
佈局文件定義onclick 事件實現方法名btnOnClick
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="btnOnClick"
android:layout_alignParentRight="true"
android:text="登入" />
聲明 "btnOnClick"方法
public void btnOnClick(View v) {
System.out.println("定義屬性響應按鈕點擊事件");
}
4,在主類中實現OncickListener接口,並在主類中實現未實現的方法
public class MainActivity extends Activity implements OnClickListener {
btnButton.setOnClickListener(this);
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
5,直接new OncickListener 接口 並實現該方法
btnButton.setOnClickListener(clickListener);
OnClickListener clickListener=new OnClickListener(){
@Override
public void onClick(View v) {
System.out.println("響應按鈕點擊事件");
}
};