Androidコントロール使用シリーズ12:CheckBoxチェックボックスコントロールの使用


安卓中CheckBoxコントロールは私たちがよく使うコントロールの一つで、以下では使用方法を共有します.
ここでの例では、4つのオプションを実装し、そのうちの1つ以上を選択してボタンをクリックすると、選択した内容が表示されます.
全体の考え方:まずxmlファイルの中で1つのButtonコントロールを定義して、新しいxmlファイルを新築して、中にCheckBoxコントロールを加えます;それから活動の中で1つの文字列の配列を定義して、中に4つのオプションの内容を保存して、1つのChechBoxの動態の配列を定義して、もとのxmlファイルのIDを探し当てて、1回の文字列の配列を遍歴して、そしてその中の各文字列を順次新しいxmlファイルのCheckBoxコントロールに縛って、そしてもとのxmlファイルの中に参加します;その後、ButtonのOnClickイベントを定義し、すべてのCheckBoxを巡り、選択された場合は選択された内容が表示され、選択されていなければ「選択されていない」という情報が表示されます(プロンプトボックスを使用してユーザーにプロンプトします).
activity_main.xmlファイル:
<Button 
       android:id="@+id/button"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="  "
       />
checkbox.xmlファイル:
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/checkbox"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
    

</CheckBox>
MainActivity.JAvaファイル:
        private List<CheckBox> checkBoxs=new ArrayList<CheckBox>();
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.activity_main);
		//    LinearLayout       
		String[] checkboxText=new String[]{"     ?","        ?","      ?","     ?"};
		//      
		LinearLayout linearLayout=(LinearLayout)getLayoutInflater().inflate(R.layout.activity_main, null);
		for(int i=0;i<checkboxText.length;i++){
			CheckBox checkBox=(CheckBox)getLayoutInflater().inflate(R.layout.checkbox,null);
			checkBoxs.add(checkBox);
			checkBoxs.get(i).setText(checkboxText[i]);
			linearLayout.addView(checkBox,i);
		}
		setContentView(linearLayout);
		Button button=(Button)findViewById(R.id.button);
		button.setOnClickListener(this);
	}

	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		String s="";
		for(CheckBox checkBox:checkBoxs){
			if(checkBox.isChecked()){
				s+=checkBox.getText()+"
"; } } if("".equals(s)){ s=" !"; } // new AlertDialog.Builder(this).setMessage(s).setPositiveButton(" ", null).show(); }