[簡単Androidアプリ] ダイアログ(AlertDialog)を使ってみよう!!




今回はダイアログ(AlertDialog)について書いていこうとおもいます。

ダイアログはメッセージをポップアップで表示したり、簡単な入力を行ってもらう際に使用します。


まずは、プロジェクトの作成を行ってください。

[簡単Androidアプリ] プロジェクトの作成からHello Worldテキストの出力まで


今回はリストのアイテムを押した場合にダイアログを表示するプログラムを作成します。
リストの利用については下記の記事を参照してください。またレイアウトの作成についても下記を参照してください。

[簡単Androidアプリ] リストビュー(ListView)を使ってみよう!!



Coding

コードを入力していきます。

package com.sample.brogger;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class SampleMain extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトの指定
        setContentView(R.layout.activity_sample_main);

        // オブジェクトの作成
        ListView lv = (ListView) findViewById(R.id.listView1);

        // リストビュー表示する文字列を設定します
        String[] lvStr = {
                "OS","CPU","メモリ",
                "ディスプレイ","ハードディスク","SSD",
                "Office","GPU","キーボード",
                "マウス","スピーカー"
        };

        // リストビューに表示する文字列を、格納するアダプターの作成
        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, lvStr);

        // リストビューにアダプターを設定
        lv.setAdapter(adapter);

        // リストビューの項目をクリックした時の処理をするリスナ
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView parent, View view, int position, long id) {

                ListView tmpListView = (ListView) parent;

                // クリックされた項目の文字列を取得
                final String itemStr = (String)tmpListView.getItemAtPosition(position);

                // オブジェクトの作成
                AlertDialog.Builder aDB = new AlertDialog.Builder(SampleMain.this);

                // ダイアログのタイトルを設定
                aDB.setTitle("確認");

                // ダイアログに表示するメッセージを設定
                aDB.setMessage("本当によろしいですか?");

                // ”はい” ボタンの設定
                aDB.setPositiveButton("はい", new DialogInterface.OnClickListener() {


                    // "はい" ボタンが押された場合のリスナー
                    public void onClick(DialogInterface dialog, int which) {

                        // "はい" ボタンが押された場合に表示するダイアログ
                        new AlertDialog.Builder(SampleMain.this)
                        .setTitle("購入")
                        .setMessage(itemStr + "のご購入ありがとうございます。")
                        .setPositiveButton("OK", null).show();
                   }
               });

                // ”いいえ” ボタンの設定
                aDB.setNegativeButton("いいえ", new DialogInterface.OnClickListener() {

                    // "いいえ" ボタンが押された場合のリスナー
                    public void onClick(DialogInterface dialog, int which) {
                     // "いいえ" ボタンが押された場合に表示するダイアログ
                        new AlertDialog.Builder(SampleMain.this)
                        .setTitle("キャンセル")
                        .setMessage("またのご利用お待ちしております。")
                        .setPositiveButton("OK", null).show();
                    }
                });

                // アラートダイアログを表示します
                AlertDialog alertDialog = aDB.create();
                alertDialog.show();
            }
        });
    }
}



Execution

では実際に実行してみましょう。


リストの項目をクリックすると・・・


ダイアログが表示されます。
更に”はい”ボタンを押すと・・・


別のダイアログが表示されます。




前記事:[簡単Androidアプリ] スピナ(Spinner)を使ってみよう!!



0 コメント: