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

时间:2012-09-14 15:35:12

标签: android thread-safety

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

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上显示子对话框的好主意。

0 个答案:

没有答案