CheckBox复选框控件
CheckBox复选框默认情况下是未选中状态,如果想修改这个默认值的话,可以将中的android:checked设置为true或者使用CheckBox.setChecked方法设置都可以实现复选的功能。
实现案例如下图:
首先配置xml文件,本项目使用的是嵌套方法,创建了两个xml文件,第一个是主xml文件,设置了textview和button,有添加了一个LinearLayout组件用来嵌套checkBox
主xml文件配置代码如下:
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单选"
android:textColor="@android:color/background_dark"
android:textSize="33dp"
/>
<LinearLayout
android:id="@+id/ll_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"
android:textSize="29dp">
</Button>
checkBox.xml配置代码如下:
在这个文件中设置了checkBOX的ID和大小,具体的功能利用Java代码实现
剩下的最主要的就是配置Mainactivity的Java了
具体代码如下:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CheckedTextView;
import android.widget.LinearLayout;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ListcheckBoxList= new ArrayList<>();
private LinearLayout ll_checkbox;
private Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=findViewById(R.id.btn);
btn.setOnClickListener(this);
ll_checkbox=findViewById(R.id.ll_checkbox);
String[] strArr={"你是学生吗?","你是否喜欢Android?","你喜欢旅游吗?","你想出国吗?"};
for(String str:strArr){
CheckBox checkBox= (CheckBox) View.inflate(this,R.layout.checkbox,null);
checkBox.setText(str);
ll_checkbox.addView(checkBox);
checkBoxList.add(checkBox);
};
}
@Override
public void onClick(View v) {
String str="";
for(CheckBox checkBox:checkBoxList){
if(checkBox.isChecked()){
str+=checkBox.getText().toString()+"\n";
Toast.makeText(this,str,Toast.LENGTH_SHORT).show();
}
}
}
}