linelayout.xml


Xml代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical" >
  6. <Button android:layout_width="fill_parent" android:layout_height="wrap_content"
  7. android:id="@+id/buton" android:text="@string/button">
  8. </Button>
  9. </LinearLayout>

checkbox.xml


Xml代码   Android之CheckBox复选框控件使用inelayout.xml Xml代码_控件


  1. <?xml version="1.0" encoding="utf-8"?>
  2. <CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="wrap_content" >
  5. </CheckBox>


 MainActivity.java


Java代码   Android之CheckBox复选框控件使用inelayout.xml Xml代码_控件


  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.view.View.OnClickListener;
  8. import android.widget.Button;
  9. import android.widget.CheckBox;
  10. import android.widget.LinearLayout;
  11. public class MainActivity extends Activity  implements OnClickListener{
  12. private List <CheckBox> checkboxs = new ArrayList<CheckBox> ();
  13. protected void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. //setContentView(R.layout.activity_main);
  16. String[] chekcBoxTexts = new String[]{"旅游","读书","看书","爬山","踢足球","打篮球","打乒乓球"};
  17. //动态加载布局
  18. LinearLayout linerLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.linelayout, null) ;
  19. for(int i=0;i< chekcBoxTexts.length;i++){
  20. String item = chekcBoxTexts[i];
  21. //动态创建布局
  22. CheckBox checkbox = (CheckBox) getLayoutInflater().inflate(R.layout.checkbox, null);
  23. checkbox.setText(item);
  24. checkboxs.add(checkbox);
  25. linerLayout.addView(checkbox, i);
  26. }
  27. setContentView(linerLayout);
  28. Button button = (Button) this.findViewById(R.id.buton);
  29. button.setOnClickListener(this) ;
  30. }
  31. @Override
  32. public void onClick(View v) {
  33. StringBuffer s = new StringBuffer();
  34. for(CheckBox box : checkboxs){
  35. if(box.isChecked()){
  36. if(s.length()>0){s.append("\n");}
  37. s.append(box.getText()) ;
  38. }
  39. }
  40. if(s.length()==0){
  41. s.append("您还没有选择呢");
  42. }
  43. //使用提示框提示用户信息
  44. new AlertDialog.Builder(this).setMessage(s.toString()).setPositiveButton("关闭", null).show() ;
  45. }
  46. }