CheckBox 是 Android 中常用的一个控件,主要是用来收集一些真、假的判断信息。
处理CheckBox的事件
在示例中,我们首先建立一个 Activity, 然后在屏幕上放置一个 CheckBox 控件
1 |
|
屏幕建立好以后,在对应的 Activity 代码中加入事件处理方法。处理用户与 CheckBox 的交互,可以使用两个事件,onClick 和 onCheckedChanged。 我们先演示 onClick, 代码如下:
1 | void onClick() { (R.id.chkIsAdmin) |
在这里,我们使用 ButterKnife 来简化代码(如果不熟悉 butterknife 的用法,可以参考 在Android中使用注解绑定控件和事件 )
如果使用 onCheckedChanged 事件,则代码变为:
1 | void onCheckedChanged(CompoundButton buttonView, boolean checked) { ({R.id.chkIsAdmin, R.id.chkIsPartner}) |
处理多个CheckBox
如果在一个界面上有多个 CheckBox, 就需要在事件中判断是那个 CheckBox 控件被按下了。示例如下:
首先在上面的界面中再加入一个 CheckBox,
1 |
|
修改 onCheckedChanged 事件的代码如下:
1 | void onCheckedChanged(CompoundButton buttonView, boolean checked) { ({R.id.chkIsAdmin, R.id.chkIsPartner}) |
可以看到,@OnCheckedChanged 注解中加入了多个 id 作为参数,可以使用 getId 方法获取控件的 id, 以此来区别是那个控件被按下。
实际上 onClick 事件也有一个参数
1 | void onClick(View view) { (R.id.chkIsAdmin) |
通过 view 变量也可以识别那个按钮被按下
最后,给出完整的类实现代码
1 | public class CheckBoxActivity extends AppCompatActivity { |