Android 显示子对话框并使其线程安全的好方法

Android 显示子对话框并使其线程安全的好方法,android,thread-safety,Android,Thread Safety,我有一个在对话框中显示一些可选项的功能。 看起来是这样的: void showListDialog() { if (!_dialogIsOpen) { _dialogIsOpen = true; final Activity instance = this; runOnUiThread(new Runnable() { public void run() { //Building the List

我有一个在对话框中显示一些可选项的功能。 看起来是这样的:

void showListDialog()
{
if (!_dialogIsOpen) {
    _dialogIsOpen = true;
    final Activity instance = this;

    runOnUiThread(new Runnable() 
    {
        public void run() 
        {   
            //Building the List to display

            AlertDialog alert = builder.create();
            alert.setOnDismissListener(new DialogInterface.OnDismissListener() 
            {                       
                @Override
                public void onDismiss(DialogInterface dialog) {
                    _dialogIsOpen = false;                          
                }
            });
            alert.show();
        }
    });
}
}
现在我想使调用线程安全。 现在,您可以看到我在一个名为“_dialogIsOpen”的布尔字段上使用了一个检查。对该字段的访问未同步


我的问题是,为了使这个函数线程安全,我必须改变什么。如果在UiThread中使用“runnable”是在ui上显示子对话框的好主意。

您可以将对话框作为dialog.isShowing()检查;嗯,我改变了我的代码,我有一个类引用到我的对话框。在打电话之前,我检查它是否已经可见。我认为这是解决这项任务的好办法