0

ユーザーがダイアログボックスのボタンをクリックしない限り、常にフォーカスされているダイアログボックスをAndroidで作成するにはどうすればよいですか?

ダイアログ ボックスはポップアップのように動作し、閉じずに背景レイアウトをクリックすると無効になります。

4

3 に答える 3

1

ダイアログの外側に触れると AlertDialog がキャンセルされる場合は、このコードを AlertDialog に配置して、外側のタッチでキャンセルを停止します。

コード:

dialog.setCanceledOnTouchOutside(false); // Where dialog is the object of your AlertDialog

別のプロパティを設定して、BackPress キーによるダイアログ ボックスの非表示を停止することもできます

コード:

dialog.setCancelable(false);

それがあなたを助けることを願っています。

質問があればコメントしてください。

コーディングをお楽しみください。:)

于 2012-11-20T06:22:34.023 に答える
0

Sample Codeアクティビティで試すことができます。

ここでドキュメントを見つけることができます

Dialog myDialog =   new AlertDialog.Builder(getActivity())
                    .setIcon(R.drawable.alert_dialog_icon)
                    .setTitle(title)
                    .setCancelable(false)
                    .setPositiveButton(R.string.alert_dialog_ok,
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {
                                //Do your stuff
                            }
                        }
                    )
                    .setNegativeButton(R.string.alert_dialog_cancel,
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {
                                //Do your stuff
                            }
                        }
                    )
                    .create();
于 2012-11-20T06:11:32.640 に答える
0

Why dont you create your own dialog box,

final Dialog dialog = new Dialog(DialogBoxActivity.this);
                    dialog.setContentView(R.layout.maindialog);
                    dialog.setTitle("This is dialog box");
                    dialog.setCancelable(true);


                    //set up text
                    TextView text = (TextView) dialog.findViewById(R.id.TextView01);
                    text.setText("Are you sure you want to exit");



                    //set up button
                    Button yes = (Button) dialog.findViewById(R.id.yes);
                    yes.setOnClickListener(new View.OnClickListener() 
                    {
                    @Override
                        public void onClick(View v) 
                        {
                            finish();
                        }
                    });
                    Button no = (Button)dialog.findViewById(R.id.no);
                    no.setOnClickListener(new View.OnClickListener()
                    {
                        @Override
                        public void onClick(View v) 
                        {
                            dialog.dismiss();
                        }
                    });
                    dialog.show();

and also define its layout as, maindialog.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="match_parent"
    android:orientation="vertical" >




    <ScrollView
        android:id="@+id/ScrollView01"
        android:layout_width="192dp"
        android:layout_height="48dp"
        android:layout_below="@+id/ImageView01" >

 <TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
 android:layout_width="wrap_content" android:layout_height="wrap_content" />

 </ScrollView>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/yes"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="24dp"
        android:text="  Yes  " />

    <Button
        android:id="@+id/no"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="26dp"
        android:layout_toRightOf="@+id/yes"
        android:text="  No   " />

</RelativeLayout>

</LinearLayout>

It will create a custom layout for the dialog box and could only be dismissed on button click.

于 2012-11-20T06:18:21.727 に答える