ホームへ戻る

2.7 アラートダイアログを表示する(入力式)


 アラートダイアログの中に、文字入力を行うことが出来るEditTextを埋め込んで、入力を促すこともできます。

ただ本章では、まだ解説していない動的レイアウト生成クラスであるLayoutInflaterが出てきますので、参考程度にご覧下さい。
LayoutInflaterについてはレイアウトの章で説明します。


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">
        
        <EditText
                android:id="@+id/editText"
                android:layout_height="wrap_content"
                android:layout_width="fill_parent"/>

</LinearLayout>

public class AndroidsCastleActivity extends Activity {
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("IPアドレスを入力して下さい");
                // LayoutInflaterにより動的にレイアウト生成
                LayoutInflater inflater = LayoutInflater.from(this);
                final View view = inflater.inflate(R.layout.main, null);
                builder.setView(view);
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int idx) {
                                EditText et = (EditText) view.findViewById(R.id.editText);
                                Log.d("Sample", et.getText().toString());
                        }
                });

                builder.show();
        }
}


そして表示した結果は以下の通り



本章のプロジェクトはこちら


→分からないことがあれば掲示板で質問して下さい


Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.

- Remical Soft -