Android 中button监听事件的三种方式
1.匿名内部类的监听方法:
首先创建一个button并实例化:
//在oncreate()方法前
private Button LoginButton;
//在oncreate()方法中 初始化控件
LoginButton = (Button)findViewById(R.id.button);
//给当前控件设置监听
//直接new了一个OnClickListener方法
LoginButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//在当前onClick类中监听点击Button动作
System.out.println("my Button is clicked!");
}
});
此方法适用于普通的监听事件,与其他按钮一般无关联。
2.外部类监听方法:
还是创建一个Button并实例化:
//在oncreate()方法前
private Button LoginButton;
//在oncreate()方法中 初始化控件
LoginButton = (Button)findViewById(R.id.button);
//外部类监听写法
LoginButton2.setOnClickListener(new MyOnClickListener() {
@Override
public void onClick(View v) {
super.onClick(v);//调用父类的onclick方法 也就是外部类的onlick
//下面可以写子类的onclick方法
Toast.makeText(MainActivity.this, "您点击了button2", Toast.LENGTH_LONG).show();
}
});
然后在oncreate方法后写一个类MyOnClickListener
//这里就是父类了 在点击button的时候 super.onClick(v)会调用父类的onclick方法
class MyOnClickListener implements OnClickListener {
@Override
public void onClick(View v) {
System.out.print("Hello world!");
v.setAlpha(0.5f);
}
}
3.通过接口实现监听
//在MainActivity后加OnClickListener接口
public class MainActivity extends AppCompatActivity implements OnClickListener
在MainActivity中写接口OnClickListener的方法,系统会自动生成OnClick方法,我们只需要写这个方法就可以:
public void onClick(View v) {
Toast.makeText(this, "您点击了button2", Toast.LENGTH_LONG).show();
}
首先还是要实例化,用一个imageButton:
//类型为ImageButton
private ImageButton ImgBt;
ImgBt = (ImageButton)findViewById(R.id.imageButton);
然后就是接口实现监听的写法:
//MainActivity可以省略
ImgBt.setOnClickListener(MainActivity.this);
![](http://img.blog.csdn.net/20160316111101590)