checkBox (复选按钮):
1. layout.xml 布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/text_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请选择你喜欢的城市"
/>
<CheckBox
android:id="@+id/beijin_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北京"
/>
<CheckBox
android:id="@+id/shanghai_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上海"
/>
<CheckBox
android:id="@+id/shenzhen_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="深圳"
/>
</LinearLayout>
MainActivity.java文件:
public class MainActivity extends Activity implements OnCheckedChangeListener{
private CheckBox beijin;
private CheckBox shanghai ;
private CheckBox shenzhen;
private EditText text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过空间的ID来找代表控件的对象
beijin =(CheckBox) findViewById(R.id.beijin_box);
shanghai =(CheckBox) findViewById(R.id.shanghai_box);
shenzhen = (CheckBox) findViewById(R.id.shenzhen_box);
text =(EditText) findViewById(R.id.text_et);
//绑定监听器
beijin.setOnCheckedChangeListener(this);
shanghai.setOnCheckedChangeListener(this);
shenzhen.setOnCheckedChangeListener(this);
}
// 复合按钮的选中状态监听器
// buttonView:代表被操作的控件
// isChecked:代表选中状态
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch (buttonView.getId()) {
case R.id.beijin_box:
if(isChecked){
text.setText(buttonView.getText()+"选中");
}else{
text.setText(buttonView.getText()+"取消选中");
}
break;
case R.id.shanghai_box:
if(isChecked){
text.setText(buttonView.getText()+"选中");
}else{
text.setText(buttonView.getText()+"取消选中");
}
break;
case R.id.shenzhen_box:
if(isChecked){
text.setText(buttonView.getText()+"选中");
}else{
text.setText(buttonView.getText()+"取消选中");
}