android 四种监听方式

  • 实现监听的接口
  • 实现匿名内部类
  • 在xml 上设置 监听(不建议采用)
  • 内部类的形式
    -

经常采用的形式 (实际开发中经常用到的,建议采用)

public class MainActivity extends Activity implements OnClickListener {    private Button mBut1, mBut2, mBut3;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    private void initView() {        mBut1 = (Button) findViewById(R.id.But1);        mBut2 = (Button) findViewById(R.id.But2);        mBut3= (Button) findViewById(R.id.But3);        mBut1.setOnClickListener(this);        mBut2.setOnClickListener(this);        mBut3.setOnClickListener(this);    }    @Override    public void onClick(View v) {        // TODO Auto-generated method stub        int ID = v.getId();        if (R.id.But1 == ID) {            Log.e("main", "点击按钮一");        } else if (R.id.But2 == ID) {            Log.e("main", "点击按钮二");        } else if(R.id.But3==ID){            Log.e("main", "点击按钮三");        }    }}

采用匿名内部类和其他两种的形式

public class MainActivity extends Activity {    private Button mBtn1;    private Button mBtn2;    private MyOnclick onclick = new MyOnclick();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    //initView()->初始化控件     private void initView(){        mBtn1 = (Button) findViewById(R.id.Btn1);        mBtn2 = (Button) findViewById(R.id.Btn2);        mBtn2.setOnClickListener(onclick);        mBtn1.setText("按钮");        mBtn1.setBackgroundResource(R.drawable.ic_launcher);        //tag->筛选标签        //msg->日志内容        Log.e("Main", "initview设置监听前");        //setOnClickListener->给按钮添加点击监听事件        //匿名内部类监听方式->不推荐        mBtn1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //点击监听进入方法->mBtn1按钮被点击时进入                //v->被点击的view                //按钮监听回调方式                  Log.e("Main", "initview监听执行中");                //处理按钮被点击后操作            }        });        Log.e("Main", "initview设置监听后");    }    public void MyOn(View v){        Log.e("Main","XML监听");    }    //内部类监听    private class MyOnclick implements View.OnClickListener{        @Override        public void onClick(View v) {            Log.e("Main","内部类监听执行");        }    }}

更多相关文章

  1. 几个标签属性的意义
  2. Android使用AsyncTask下载图片,最好使用WeakReference
  3. android实现开机自启动服务
  4. android studio打包apk
  5. android EditText 监听复制粘贴等操作
  6. Android(安卓)ListView嵌套Button,Button事件覆盖item事件解决办
  7. [Android]在Manifest中注册广播监听器
  8. android弹出dialog后activity背景变暗
  9. android 滑动加载数据

随机推荐

  1. 正确理解 PHP 的重载
  2. 2021最新swoole视频教程推荐(从入门到高级
  3. 匿名函数
  4. PHP中global与$GLOBALS的区别
  5. PHP中output buffering的原理及应用
  6. PHP将数组编码gbk和utf-8相互转换
  7. GD库生成图片验证码
  8. PHP编程20大效率要点
  9. 多进程命名管通通信【无血缘关系进程】PH
  10. PHP验证身份证格式