按钮监听事件的实现方式
一:事件处理机制要通过以下三个不同对象来实现:
(1)事件源:事件发生的场所,通常为产生事件的组件。
(2)事件对象:封装在组件上发生的特定事件。
(3)事件监听对象:负责监听事件源发生的事件,并对事件做出相应的处理。
二:
1.匿名内部类;
2.匿名外部类;
3.实现接口;
代码如下:
public class MainActivity extends Activity implements OnClickListener{
private Button loginButton;
private ImageButton imagBt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginButton = (Button)findViewById(R.id.button1);
imagBt= (ImageButton) findViewById(R.id.imageButton1);
/*loginButton.setOnClickListener(new OnClickListener() {//第一种
@Override
public void onClick(View v) {
System.out.println("我的Button被点了");
}
});*/
loginButton.setOnClickListener(new MyOnClickListener(){//第二种
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
super.onClick(v);
Toast.makeText(MainActivity.this, "loginButton要执行的罗辑", 1).show();
}
});
imagBt.setOnClickListener(this);
}
@Override
public void onClick(View v) {//第三种
Log.i("tag", "第三种方式实现");
}
}
class MyOnClickListener implements OnClickListener
{
@Override
public void onClick(View v) {
v.setAlpha(0.5f);
}
}注:在程序中要想实现事件处理机制必须定义一个类来实现事件监听器的接口,然后再通过特定的方法给组件注册事件监听器。