前回のソースに手を加えて、「名前」が未入力の状態で「OK」ボタンを押した場合に入力を促すメッセージを表示します。
MainActivityクラスのメンバ変数にDIALOG_NAME_EMPTY_ID変数を追加します。
この変数は表示するダイアログのIDになります。
数値は何でもいいです。
public class MainActivity extends Activity {
private TextView m_textView;
private EditText m_editText;
private Button m_buttonExec;
private Button m_buttonClear;
private static final int DIALOG_NAME_EMPTY_ID = 0;
MainActivityクラスにonCreateDialog関数を追加します。
protected Dialog onCreateDialog(int id) {
Dialog dialog;
switch (id) {
case DIALOG_NAME_EMPTY_ID:
dialog = new AlertDialog.Builder(this)
.setTitle("エラー")
.setMessage("名前を入力してください。")
.setPositiveButton("OK", null)
.create();
break;
default:
dialog = null;
}
return dialog;
}
「実行」ボタンクリック時に呼ばれるOnClick関数を変更します。
エディットボックスに文字列があるかを判定し、無ければダイアログを表示します。
m_buttonExec.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String str;
str = m_editText.getText().toString();
if (str.length() > 0) {
Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy’年‘M’月‘d’日’”);
str += “さん、こんにちは。\n”;
str += “今日は” + sdf.format(dt) + “です。”;
m_textView.setText(str);
}
else {
showDialog(DIALOG_NAME_EMPTY_ID);
}
}
});
次回のエントリーでは、画面遷移を扱う予定です。


コメント