当我遇到这个问题时,我无法使用标志。我必须在 RecyclerView 中为单击的列表项显示一个对话框。
在onclick 方法中,我为对话框创建了一个变量,然后在构建对话框时,我用 if 语句将其括起来,该语句检查 AlertDialog 变量是否为空。当用户第一次点击列表项时出现对话框,因为该变量为空,即使用户点击一个项目两次也只会出现一个对话框,因为第二次点击后AlertDialog变量不再为空。当用户关闭 AlertDialog 时,变量再次设置为 null。
AlertDialog alertDialog;
if(alertDialog == null) {
alertDialog = new AlertDialog.Builder(MyActivity.this)
.setTitle("Title for Dialog")
.setMessage("Dialog Message")
.setPositiveButton("Okay", null)
.setNegativeButton("No", null)
.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialogInterface) {
alertDialog = null;
}
})
.show();
}