package net.npaka.checkboxex;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
//チェックボックスとラジオボタンとスピナー
public class CheckBoxEx extends Activity
implements View.OnClickListener {
private final static int WC=
LinearLayout.LayoutParams.WRAP_CONTENT;
private final static String BR=//改行文字
System.getProperty("line.separator");
private CheckBox checkBox; //チェックボックス
private RadioGroup radioGroup;//ラジオグループ
private Spinner spinner; //スピナー
private Button button; //ボタン
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//レイアウトの生成
LinearLayout layout=new LinearLayout(this);
layout.setBackgroundColor(Color.rgb(255,255,255));
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
//チェックボックスの生成
checkBox=new CheckBox(this);
checkBox.setText("チェックボックス");
checkBox.setTextColor(Color.rgb(0,0,0));
checkBox.setChecked(true);
checkBox.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
layout.addView(checkBox);
//ラジオボタン0の生成
RadioButton radio0=new RadioButton(this);
radio0.setId(0);
radio0.setText("ラジオボタン0");
radio0.setTextColor(Color.rgb(0,0,0));
//ラジオボタン1の生成
RadioButton radio1=new RadioButton(this);
radio1.setId(1);
radio1.setText("ラジオボタン1");
radio1.setTextColor(Color.rgb(0,0,0));
//ラジオグループの生成
radioGroup=new RadioGroup(this);
radioGroup.addView(radio0);
radioGroup.addView(radio1);
radioGroup.check(0);
radioGroup.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
layout.addView(radioGroup);
//スピナーの生成
ArrayAdapter adapter=new ArrayAdapter(
this,android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
String[] strs={"赤","青","黄色"};
for (int i=0;i<strs.length;i++) adapter.add(strs[i]);
spinner=new Spinner(this);
spinner.setAdapter(adapter);
spinner.setSelection(0);
spinner.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
layout.addView(spinner);
//ボタンの生成
button=new Button(this);
button.setText("結果表示");
button.setOnClickListener(this);
button.setLayoutParams(new LinearLayout.LayoutParams(WC,WC));
layout.addView(button);
}
//ボタンクリック時に呼ばれる
public void onClick(View v) {
//チェックボックスとラジオボタンの状態取得
showDialog(this,"",
"チェックボックス>"+checkBox.isChecked()+BR+
"ラジオボタン>"+radioGroup.getCheckedRadioButtonId()+BR+
"スピナー>"+spinner.getSelectedItem());
}
//ダイアログの表示
private static void showDialog(Context context,String title,String text) {
AlertDialog.Builder ad=new AlertDialog.Builder(context);
ad.setTitle(title);
ad.setMessage(text);
ad.setPositiveButton("OK",null);
ad.show();
}
}
|