如何防止gridview多点触控上的多个对话框

时间:2015-02-02 22:53:30

标签: android gridview alertdialog multi-touch

我的Android应用程序中有图像的网格视图。单击每个图像将打开一个对话框,显示有关图像的更多信息。我刚刚意识到,如果我用手指同时点击多个图像,则会在对方的顶部弹出多个对话框(每个图像一个)。如何禁用此功能并确保一次只弹出一个对话框。

注意:这不同于快速点击同一图像并打开相同的对话框(我使用http://www.jorgecoca.com/android-quick-tip-avoid-opening-multiple-dialogs-when-tapping-an-element/修复了一个问题)

1 个答案:

答案 0 :(得分:0)

假设您的对话为myDialog

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        // User clicked OK button
    }
});
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        // User cancelled the dialog
    }
});
builder.setMessage(R.string.dialog_message)
       .setTitle(R.string.dialog_title);

AlertDialog myDialog = builder.create();

点击网格项目会显示如下对话框

if(!myDialog.isShowing())
    myDialog.show();

如果您在用户点击网格视图项目时创建对话框,则在全局级别创建对话框并使用该对话框。