ユーザーがダイアログボックスのボタンをクリックしない限り、常にフォーカスされているダイアログボックスをAndroidで作成するにはどうすればよいですか?
ダイアログ ボックスはポップアップのように動作し、閉じずに背景レイアウトをクリックすると無効になります。
ユーザーがダイアログボックスのボタンをクリックしない限り、常にフォーカスされているダイアログボックスをAndroidで作成するにはどうすればよいですか?
ダイアログ ボックスはポップアップのように動作し、閉じずに背景レイアウトをクリックすると無効になります。
ダイアログの外側に触れると AlertDialog がキャンセルされる場合は、このコードを AlertDialog に配置して、外側のタッチでキャンセルを停止します。
コード:
dialog.setCanceledOnTouchOutside(false); // Where dialog is the object of your AlertDialog
別のプロパティを設定して、BackPress キーによるダイアログ ボックスの非表示を停止することもできます
コード:
dialog.setCancelable(false);
それがあなたを助けることを願っています。
質問があればコメントしてください。
コーディングをお楽しみください。:)
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();
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.