复选框:
默认情况下,单选框按钮显示为一个方块图标,并且在该图标旁边放置一些说明性文字。与单选按钮不同的是,复选框可以进行多选设置,每一个复选框都提供"选中"和"不选中"两种状态。
在Android中,复选框使用CheckBox表示,CheckBox又是Button的子类,所以单选按钮可以直接使用Button支持的各种属性。
Android中,可以使用两种方法向屏幕中添加单选按钮,一种是通过在XML布局文件中使用<CheckBox>标记添加;另一种是在Java文件中,通过new关键字创建。
推荐使用XML配置,基本语法如下:
<CheckBox
android:text="显示文本"
android:id="@+id/ID号"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
实例:
界面:
res/layout/main.xml:
在主活动中创建并实例化一个OnCheckedChangeListener对象,在实例化该对象时,重写onCheckedChanged()方法,当复选框被选中时,输出一条日志信息,显示被选中的复选框,具体代码如下:
接下来点击提交按钮后,我们要获取复选框,并显示被选中的数据,完整代码如下:
默认情况下,单选框按钮显示为一个方块图标,并且在该图标旁边放置一些说明性文字。与单选按钮不同的是,复选框可以进行多选设置,每一个复选框都提供"选中"和"不选中"两种状态。
在Android中,复选框使用CheckBox表示,CheckBox又是Button的子类,所以单选按钮可以直接使用Button支持的各种属性。
Android中,可以使用两种方法向屏幕中添加单选按钮,一种是通过在XML布局文件中使用<CheckBox>标记添加;另一种是在Java文件中,通过new关键字创建。
推荐使用XML配置,基本语法如下:
<CheckBox
android:text="显示文本"
android:id="@+id/ID号"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
实例:
界面:
res/layout/main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#FFFFFF">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="爱好:"
android:width="100px"
android:height="50px"
android:gravity="right"/>
<CheckBox
android:text="体育"
android:id="@+id/like1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox
android:text="音乐"
android:id="@+id/like2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox
android:text="美术"
android:id="@+id/like3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button android:text="提交"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
界面如图:
在主活动中创建并实例化一个OnCheckedChangeListener对象,在实例化该对象时,重写onCheckedChanged()方法,当复选框被选中时,输出一条日志信息,显示被选中的复选框,具体代码如下:
private OnCheckedChangeListener checkBox_listener;
checkBox_listener=new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
Log.i("复选框", "选中了["+buttonView.getText().toString()+"]");
}
}
};
接下来点击提交按钮后,我们要获取复选框,并显示被选中的数据,完整代码如下:
package com.example.test;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Toast;
public class MainActivity extends Activity {
private OnCheckedChangeListener checkBox_listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
checkBox_listener=new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
Log.i("复选框", "选中了["+buttonView.getText().toString()+"]");
}
}
};
final CheckBox like1=(CheckBox)findViewById(R.id.like1);
final CheckBox like2=(CheckBox)findViewById(R.id.like2);
final CheckBox like3=(CheckBox)findViewById(R.id.like3);
like1.setOnCheckedChangeListener(checkBox_listener);
like2.setOnCheckedChangeListener(checkBox_listener);
like3.setOnCheckedChangeListener(checkBox_listener);
//为"提交"按钮添加单击事件监听器
Button button=(Button)findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String like="";//保存选中的值
if(like1.isChecked()){
like+=like1.getText().toString()+"";//当第一个复选框被选中
}
if(like2.isChecked()){
like+=like2.getText().toString()+"";//当第二个复选框被选中
}
if(like3.isChecked()){
like+=like3.getText().toString()+"";//当第三个复选框被选中
}
//显示被选中的复选框
Toast.makeText(MainActivity.this, like, Toast.LENGTH_SHORT).show();
}
});
}
}
效果如图
转载请注明出处:http://blog.youkuaiyun.com/acmman/article/details/44776629