.java代码:
package com.example.day6;
import java.util.ArrayList;
import java.util.List;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity implements OnClickListener{
private List<CheckBox> checkBoxList= new ArrayList<CheckBox>(); // checkboxList数组
private LinearLayout checkbox;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkbox=(LinearLayout) findViewById(R.id.checkbox);
button=(Button) findViewById(R.id.button);
String[] string={"你是学生吗?","你是否喜欢android","你喜欢旅游吗?","你会出国吗?"};
for(String i:string){ // 和for(int i=0;i<string.length;i++)是一样的!
CheckBox check=(CheckBox) View.inflate(this,R.layout.check,null);
check.setText(i); // 和check.setText(string[i])是一样的!
checkbox.addView(check);
checkBoxList.add(check);
}
button.setOnClickListener(this); // 点击事件
}
@Override
public void onClick(View v) {
String str="";
for(CheckBox checkBox:checkBoxList){ // 和for(int chekBox=0; chekBox<checkBoxList.length; chekBox++)是一样的!
if(checkBox.isChecked()){ // 是否被选中
str+=checkBox.getText().toString()+"\n"; // 获取复选框的值,然后转换成string类型
}
}
Toast.makeText(this, str, Toast.LENGTH_SHORT).show(); // 显示出来
}
}
.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">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/checkbox">
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="确定"/>
</LinearLayout>