Android的中button控件的三种监听方式
1、内部匿名类
2、外部类
3、接口类
一、内部匿名类
MyButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 在此处监听
System.out.println("我的按钮被点击了");
}
});
二、外部类
新建一个外部类,实现OnClickListener接口,并重写onClick方法。
class MyOnClickListener implements OnClickListener{
//OnClickListener是一个接口,故不用extends而用implements来继承
@Override
public void onClick(View v) {
Log.i("tag", "父类监听响应");
}}
然后在OnCreate函数中,创建该对象实例并使用。
public class MainActivity extends Activity implements OnClickListener{
private Button MyButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将布局XML文件引入到activity中
setContentView(R.layout.activity_main);
/*
* 初始化当前所需要控件
* findViewById--返回一个View对象,对其强制类型转换。
*
*/
MyButton = (Button)findViewById(R.id.Button1);
MyButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("tag", "接口实现");
}}
三、接口方式
接口方式需要Activity类实现OnClickListener接口,并重写onClick方法。
public class MainActivity extends Activity implements OnClickListener{
private Button MyButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将布局XML文件引入到activity中
setContentView(R.layout.activity_main);
/*
* 初始化当前所需要控件
* findViewById--返回一个View对象,对其强制类型转换。
*
*/
MyButton = (Button)findViewById(R.id.Button1);
MyButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("tag", "接口实现");
}}