监听事件
Button基本使用方法
Button和imageButton都有一个onclick事件
通过自身的setOnclickListener(OnClickListener)方法添加点击事件
通过点击事件的监听可以实现点击按钮之后产生的动作
三种
1 匿名内部类
2 独立类
3 实现接口的方式来实现
匿名内部类
- 初始化当前所需要的控件
 
首先声明一个Button的对象然后对其赋值
private Button loginButton;
findViewById(R.id.控件的id)返回的是一个View的对象,View是所有控件的父类,然后再对其进行格式转换,这样就可以访问到当前的控件了
loginButton = (Button)findViewById(R.id.控件的id)
- 设置button的***
 
通过***实现事件点击的效果
 loginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });  可以在代码里写入事件点击的效果
外部类
首先也是初始化控件
通过***去实现外部类
onClickListener是一个接口,不能继承
所以我们要去实现onClickListener
外部类的写法
class myOnclickListener implements View.OnClickListener {
    @Override
    public void onClick(View v){
        Log.i("tag","已发送");
    }
}  loginbutton2.setOnClickListener(new myOnclickListener(){
            @Override
            public void onClick(View v) {
                super.onClick(v);//调用父类的onClick事件
                Toast.makeText(MainActivity.this,"按钮被点击",1).show();//通过类名.this来调用
            }
        });
    }  将来有多个按钮都要执行一个复杂的动作,则需要通过外部类的写法
接口
首先在activity这个类上去实现onClickListener这个接口 
 会在这个类生成对应的onlick方法
public class First extends AppCompatActivity implements View.OnClickListener  在onclick方法里写上你想要做出点击之后的效果
    @Override
    public void onClick(View v) {
        Log.i("tag","annou");
        Toast.makeText(First.this, "按钮被点击了", 1).show();
    }  setonclicklistener直接是this 当前onclick事件就绑定在上面了
loginbutton.setOnClickListener(this);  Toast一定要注意.show();

京公网安备 11010502036488号