1,内部类
如果是多个按钮点击事件,可以用过switch 判断:
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("响应按钮点击事件");
}
};