监听事件 实现的四种方法
1.初始化当前所需要控件,如何初始化一个控件…………private Button xxxx
findViewById---返回的是一个View的对象…………需要强转成其子类Button对象
findViewById---是如何查找View的Id…………通过R中的ID
2.设置Button的监听器,通过监听器实现我们点击Button需要操作的事情
方式一:
匿名内部类实现事件监听:
在按钮的setOnClickListener方法中new一个OnClickListener类,并在OnClickListener类的实现中写出需要实现的代码,
如:
Button loninButton = (Button) findViewId(R.id.bt1);
loginButton.setOnClickListener(new OnClickListener(){实现的内容});
方式二:
外部类监听事件:
有多个按钮,每个按钮都有一个相同的动作,另外每个按钮有一个自己的动作,这样的情况使用外部类监听事件。
添加一个实现OnClickListener接口的MyOnClickListener类
重写onClick();方法,在方法体内添加需要重复实现的动作;
然后在每一个接口下面实现各自独立的动作,如:
bt2.setOnClickListener(new MyOnClickListener(){
public void onClick(View v) {
super.onClick(v);//实现父类的onClick();动作
Toast.makeText(MainActivity.this, "BT3要执行的逻辑", Toast.LENGTH_SHORT).show();
} });
方式三:
接口方式实现事件监听:
activityMain类实现OnClickListener接口,然后重写OnClickListener接口的onClick();方法,
在调用的时候,直接写this就可以了,如:
imgBt.setOnClickListener(this);
方式四:
独立事件
loginButton.setOnClickListener(listener);
外部单独:
OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("独立实现的类触发了");
}
};