android第三节

来源:互联网 发布:淘宝2000多张真人晒单 编辑:程序博客网 时间:2024/04/28 20:45

监听事件

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();

0 0