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ファイル:
ここでの例では、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();
}