【Androidアプリ開発】AlertDialog

前回のソースに手を加えて、「名前」が未入力の状態で「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);
        }
    }
});

次回のエントリーでは、画面遷移を扱う予定です。

コメント

タイトルとURLをコピーしました