我有一个有时会触发两次的Bluetooth回调,这使得处理对话框实例变得很困难。
我正在全局中声明dismiss()实例

LoaderProgress mLConnectdialogLoader = new LoaderProgress(InsoleConnection.this);

我触发名为“connecting..”的对话框5秒,然后关闭。
new Handler().postDelayed(new Runnable() {

                    @Override
                    public void run() {
                    mLConnectdialogLoader.dismiss()
                    }
  },5000);
  mLConnectdialogLoader.show("Connecting...")

如何防止同一个实例被调用两次,这样我就可以避免在关闭对话框时遇到困难。

最佳答案

if(!mLConnectdialogLoader.isShowing())
      mLConnectdialogLoader.show("Connecting...")

在Dialogloader类中:
public boolean isShowing() { return dialog.isShowing(); }

08-17 22:02