前回のソースに手を加えて、「名前」が未入力の状態で「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);
}
}
});
次回のエントリーでは、画面遷移を扱う予定です。
コメント