我有一个功能可以在对话框中显示一些可选项。 它看起来像这样:
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上显示子对话框的好主意。