我有一个AlertDialog
在选择某个操作后不想关闭的操作,恰好在按下返回setPositiveButton
时转到新操作时它仍然显示。activity
我的对话
final AlertDialog.Builder alertaDeError2 = new AlertDialog.Builder(MainActivity.this);
alertaDeError2.setTitle("Bienvenido");
alertaDeError2.setMessage("Es tu primera vez aquí. Te recomendamos ir a nuestra guía rápida");
alertaDeError2.setNegativeButton("OMITIR", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
saveValuePreference(getApplicationContext(), false);
}
});
alertaDeError2.setPositiveButton("IR", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
alertaDeError2.show();
saveValuePreference(getApplicationContext(), false);
Intent myIntent = new Intent(MainActivity.this, PrimerPaso.class);
startActivity(myIntent);
}
});
alertaDeError2.create();
alertaDeError2.show();
有任何想法吗 ?
您可以使用 关闭对话框
dismiss()
。这将关闭对话框并将其从屏幕上删除。该方法show()
返回一个AlertDialog
,它是 的子类Dialog
,具有dismiss()
丢弃它的方法。您可以执行以下操作:
当您显示对话框时,您将其保存在此变量中:
以及您想要关闭您只需使用的对话框的位置
这适用于您确实需要通过正常流程之外的事件关闭对话框的情况。显然,在您的情况下,原因不同,您找到了。:)
调用del
Intent
方法后:cancel()
AlertDialog
如果您对对话框实例使用该方法,则您会出错
show()
,此方法的作用是显示对话框,否则您应该更改dismiss();
为隐藏对话框。