您的位置:首页 > 移动开发 > Android开发

设置Button监听事件的三种方式

2017-03-10 20:17 369 查看

设置Button监听事件的三种方式

三种Button监听事件设置方法

匿名内部类

外部类

接口方式

匿名内部类

直接创建匿名内部类。

loginButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// 在此处监听
System.out.println("我的按钮被点击了");
}
});


外部类

新建一个外部类,实现OnClickListener接口,并重写onClick方法。

class MyOnClickListener implements OnClickListener{

@Override
public void onClick(View v) {
Log.i("tag", "???");
}

}


然后在OnCreate函数中,创建该对象实例并使用。

MyOnClickListener listener =  new MyOnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, "!!!", 1).show();
}
}
loginButton.setOnClickListener(listener);


在事件响应过程中,先执行在创建对象实例时重写的onClick方法,后执行类中的onClick方法。即,先执行

Toast.makeText(MainActivity.this, "!!!", 1).show();


然后执行

Log.i("tag", "???");


接口方式

接口方式需要Activity类实现OnClickListener接口,并重写onClick方法。

public class MainActivity extends Activity implements OnClickListener{

private ImageButton imageButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//将布局XML文件引入到activity中
setContentView(R.layout.activity_main);

/*
* 初始化当前所需要控件
* findViewById--返回一个View对象,对其强制类型转换。
*
*/
imageButton = (ImageButton)findViewById(R.id.imageButton1);
imageButton.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i("tag", "接口实现");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android button