ここに私のコードがあります-
View layout = LayoutInflater.from(this).inflate(R.layout.dialog_loc_info, null);
final Button mButton_Mobile = (Button) layout.findViewById(R.id.button);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
mButton_Mobile.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(builder.)
showDialog(); // this is another dialog, nothing to do with this code
}
});
builder.setNeutralButton(getString(Android.R.string.ok),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.show();
そのためにAlertDialog
メソッドを使用できます。
AlertDialog alert = new AlertDialog.Builder(context).create();
if (alert.isShowing()) {
alert.dismiss();
}
それが役に立てば幸い。
別の方法は、メソッドを使用してBuilderでAlertDialogを生成し、AlertDialogをクラス変数に設定する際に表示せずにAlertDialogを作成することです。
次に、.isShowing();
メソッドで確認します
例:
AlertDialog mAlertDialog;
public showMyAlertDialog(View layout){
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setView(layout);
builder.setNeutralButton(getString(Android.R.string.ok),new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
mAlertDialog = null; //setting to null is not required persay
}
});
mAlertDialog = builder.create()
mAlertDialog.show();
}
public boolean isAlertDialogShowing(AlertDialog thisAlertDialog){
if(thisAlertDialog != null){
return thisAlertDialog.isShowing();
}
}
このソースの使用方法を理解してほしい。乾杯
AlertDialog
は、 isShowing() を持つDialog
を拡張します。
ヒント:AlertDialog.Builder
はAlertDialog
インスタンスを作成します。 :)
これで確認できます:
if(alert != null && alert.isShowing()){
alert.show();// or alert.dismiss() it
}