多个按钮的绑定监听事件的学习

如果你已经学会了单个按钮的绑定监听事件setOnClickListener然后重写onClick,那么会不会有这样的疑问,如果节目上又N多个按钮,是不是要一个个这样写呢?答案肯定是否定的!那么该怎么实现,先看看视频~

  • 马上学Android 015 - 多个Button的监听器绑定

多个按钮的绑定监听事件实现方法有蛮多种的方式,我常用的是下面的方法:

  1. 首先定义一个内部类并实现View.onClickListener,然后需要重写onClick方法,这个和直接调用setOnClickListener

  2. 通过view.getID() 判断按下的是哪个控件?

  3. 声明并创建一个ButtonListener listener = new ButtonListener();

  4. 通过Button.setOnClickListener(listener)完成按钮的绑定

如果步骤3的声明和创建的分开的,例如本例,那么记得在按钮绑定listener之前创建,否则会报错!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private class ButtonListener implements View.OnClickListener {

@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btnMainActivity:
//功能
Intent i1 = new Intent(IndexActivity.this, MainActivity.class);
startActivity(i1);
break;
case R.id.btnSecondActivity:
Intent i2 = new Intent(IndexActivity.this, SecondActivity.class);
startActivity(i2);
break;
}
}
}

当然你也可以尝试其他方式,例如直接让Activity实现 onClickListener然后使用this进行绑定等等,使用方式就像萝卜青菜各有所爱!Enjoy~