0

AlertDialog クラスを使用してカスタム ダイアログ (forgot_password.xml) を表示し、カスタム ダイアログ ボックスから入力を受け取りました。edittext から入力を取得するために、layoutinflator を使用しましたが、フィールドからは何も受け取りません。トースト メッセージを使用してユーザー入力を確認しました。もう 1 つ Dialog クラスは、AlertDialog と同様に、dismiss() を使用してダイアログを閉じることができます。

以下は私のforget_password.xmlファイルです

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/grey"
android:orientation="vertical" >
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center|center_vertical"
        android:text="@string/tv_3rd_title"
        android:textAppearance="?android:attr/textAppearanceLarge" />
</FrameLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp" >
            <EditText
                android:id="@+id/et_3rd_username"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:background="@drawable/custom_edittext"
                android:ems="10"
                android:hint="@string/et_2nd_hint_name"
                android:paddingLeft="20dp" >
                <requestFocus />
            </EditText>
            <ImageButton
                android:id="@+id/imageButton8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center_vertical"
                android:layout_marginRight="10dp"
                android:background="@null"
                android:contentDescription="@string/ib_delete_text"
                android:onClick="onClick"
                android:src="@drawable/cancel_circle" />
        </FrameLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="20dp" >
            <EditText
                android:id="@+id/et_3rd_emailid"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:background="@drawable/custom_edittext"
                android:ems="10"
                android:hint="@string/et_2nd_hint_email"
                android:paddingLeft="20dp" >
                <requestFocus />
            </EditText>
            <ImageButton
                android:id="@+id/imageButton9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center_vertical"
                android:layout_marginRight="10dp"
                android:background="@null"
                android:contentDescription="@string/ib_delete_text"
                android:onClick="onClick"
                android:src="@drawable/cancel_circle" />
        </FrameLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="32dp"
            android:layout_marginBottom="5dp" >
                <Button
                    android:id="@+id/btn_3rd_close"
                    android:layout_width="75dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:layout_marginRight="60dp"
                    android:background="@drawable/button_states"
                    android:text="@string/btn_1st_exit" />
                <Button
                    android:id="@+id/btn_3rd_send"
                    android:layout_width="75dp"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="60dp"
                    android:background="@drawable/button_states"
                    android:text="@string/btn_3rd_send" />
            </FrameLayout>
</LinearLayout>

以下は、スイッチ ケース内の MainActivity の onCreateDialog() で使用される私の AlertDialog コーディングです。

    protected Dialog onCreateDialog(int id, Bundle args) {
    Dialog d = null;
    switch(id){
case R.id.ib_1st_forgot:
    AlertDialog.Builder ab = new AlertDialog.Builder(this);
    //used layout inflator to fetch user input from forgot_password.xml
    LinearLayout ll = (LinearLayout) getLayoutInflater().inflate(R.layout.forgot_password, null);
    ab.setView(ll);
    d = ab.create();
    //forgot_password.xml file's buttons and edittext
    Button send_link = (Button) ll.findViewById(R.id.btn_3rd_send);
    Button close_dlg = (Button) ll.findViewById(R.id.btn_3rd_close);
    EditText e_name = (EditText) ll.findViewById(R.id.et_3rd_username);
    EditText e_email = (EditText) ll.findViewById(R.id.et_3rd_emailid);
    final String names = e_name.getText().toString();
    final String emails = e_email.getText().toString();
    send_link.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            Toast.makeText(getApplicationContext(), "username is "+names, 0).show();
        }
    });
    close_dlg.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            //need a dialog close operation here
        }
    });
    break;
    }
    return d;
}
4

1 に答える 1