Voici mon code -
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();
Vous pouvez utiliser les méthodes AlertDialog
pour cela.
AlertDialog alert = new AlertDialog.Builder(context).create();
if (alert.isShowing()) {
alert.dismiss();
}
J'espère que ça aide.
Une autre approche consiste à utiliser une méthode pour générer AlertDialog avec un générateur, puis créer AlertDialog sans l'afficher tout en définissant AlertDialog sur une variable de classe.
Puis vérifiez avec la méthode .isShowing();
Exemple:
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();
}
}
espérons que vous comprenez comment utiliser cette source .
AlertDialog
étend Dialog
qui a isShowing () .
Astuce: AlertDialog.Builder
crée une instance AlertDialog
. :)
Vous pouvez le vérifier avec ceci:
if(alert != null && alert.isShowing()){
alert.show();// or alert.dismiss() it
}