Android中对按钮的监听方法总结

来源:互联网 发布:余姚虾米网络 编辑:程序博客网 时间:2024/05/29 18:05

Android开发中,对按键的监听方法有很多种:

第一种:也是我经常使用的一种,先让activity实现监听的接口

public class DeviceControlActivity extends Activity implements View.OnClickListener
然后我就可以对按钮进行这样的操作

time6= (TextView) findViewById(R.id.ershisixiaoshi);
time6.setOnClickListener(this);
然后让它实现接口中的方法

@Overridepublic void onClick(View v) {switch (v.getId()){    case R.id.sanshi://点击了30分钟
这种方法感觉比较好,可以将所有的监听都放到一起,查看代码的时候也容易找到,同时代码量也不大

第二种:这种我用的比较少,因为代码量有点多

就是将每一个按钮都要进行new一个OnClickListener

time6.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        //写点击后执行的方法    }});
这种方法就是麻烦了点,而且每个按钮都这么写,要是代码多了也不好找

第三种这种方法以前经常用,也是蛮好的,但是每个按钮都要在布局文件中加一句

android:onClick="doClick"
这样子在代码中就可以这样写了

public void doClick(View v) {    Intent intent=new Intent();    switch(v.getId()){        case R.id.wendu:
这样子就可以把所有的按钮的监听都集中在doClick这个方法中,也容易找到,不过布局文件中的onClick要写成一致哦,那肯定有人会说,要是没有写成一致,那怎么办?那就是方法四咯

第四种这种方法个人感觉是最不好了

这种方法和第三种有点相似,但是我感觉完全没有第三种方法好用,不过还是可以了解下,万一你要看别人写的代码,但是那个变态偏偏用这种方法写的监听,估计你就看不懂了,一脸懵逼,哈哈

这种方法也是要在布局文件中加一句代码,如下:

android:onClick="getNTCAll"
或者这样

android:onClick="getCheckState"
每一个按钮都加一个onClick,后面的那个名字就是你在代码中的方法名,注意不止写doClick一个哦,方法名随便你自己取的,然后在代码中你就要这样写了

比如你对布局文件中的按钮写的onClick中的方法名是getNTCALL,那你在代码中的方法就是

/** * 全部NTC校准信息按钮的监听 * @param view */public void getNTCAll(View view) {    txtShow.setText("");    byte[] val;    val = Tools.hexStringToByteArray("210302");    val = PackData(val);    SendValToBluetooth(val);}
如果你写的是getCheckState,那你在代码中的方法就是

/** * 查询串口状态按钮的监听 * @param view */public void getCheckState(View view) {    byte[] val;    val = Tools.hexStringToByteArray("FAF50721078B27");    SendValToBluetooth(val);}
这种方法的好处也是有的,那就是你不要给这个按钮进行初始化,也就不要啥findviewbyId了,甚至你都不用给布局文件中的按钮给一个id,不初始化给id干嘛用,萝卜白菜各有所爱,看你自己喜欢哪种咯!!!

可能还有其他监听的方法,不过我就知道这么几种,望各位能够指导下补全!


原创粉丝点击