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

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

public class DeviceControlActivity extends Activity implements View.OnClickListener

然后我就可以对按钮进行这样的操作

time6= (TextView) findViewById(R.id.ershisixiaoshi);
time6.setOnClickListener(this);

然后让它实现接口中的方法

@Override
public 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干嘛用,萝卜白菜各有所爱,看你自己喜欢哪种咯!!!

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