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. Android RadioButton 单选按钮
  2. 如何在Android中在fragment中实现点击按钮事件?
  3. Android 之 添加按钮添加声音
  4. Android 设置圆角按下改变颜色按钮
  5. Android点击按钮实现全屏的代码
  6. android 按钮变化颜色
  7. Android 通过按钮弹出菜单(通过Button显示菜单)

随机推荐

  1. 绿色守护-锁屏后干掉指定程序,让 Android(
  2. 如何删除Android系统中的内置应用
  3. [Android] View 中事件的传递
  4. 如何解决夜神模拟器连不上adb的问题
  5. Android虚拟机DVM和JAVA虚拟机JVM的区别
  6. 写给Android开发者的混淆使用手册
  7. 个人简历制作——Android自动升级&个人“
  8. Galaxy S II vs HTC Sensation XE vs 小
  9. Android(安卓)中右上角菜单创建(Menu)
  10. 详解android的号码匹配