AlertDialog-事件发生后如何更新消息

我正在尝试显示一个带有进度条和显示“蓝牙正在连接”的消息的警报对话框。 连接成功后,我想将该文本更改为“ Bluetooth Connected”。

但是,第二次调用警报对话框后,出现错误

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。

我发现了几个类似的问题,但还无法找到解决方案。

我的代码:

我先打电话

showProgressBar("Connecting to Bluetooth...");

然后,根据回调方法的结果,我尝试再次显示/用不同的消息更新警报对话框

  @Override
/*
* Callback method that is triggered once we have a result about the bluetooth connection
* */
public void isBluetoothConnected(boolean isConnected)
{
    if (isConnected)
    {
        showProgressBar("CONNECTED!");
    }
    else
    {
        showProgressBar("Bluetooth Not Connected");
    }
}

这就是我创建警报对话框的方式

public void showProgressBar(String loadingStatus)
{
    activity.runOnUiThread(new Runnable()
    {
        @Override
        public void run()
        {
            if (progressDialog!=null)
            {
                progressDialog.dismiss();
            }

            progressDialog = getDialogProgressBar(loadingStatus).create();
            progressDialog.show();
        }
    });
}

public AlertDialog.Builder getDialogProgressBar(String loadingStatus)
{
    ProgressBar progressBar = new ProgressBar(context);
    if (builder == null) 
    {
        builder = new AlertDialog.Builder(context);
        builder.setCancelable(false);
        builder.setMessage(loadingStatus);
        builder.setNegativeButton("Cancel", null);

        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);
        progressBar.setLayoutParams(lp);
        builder.setView(progressBar);
    }
    return builder;
}

我的问题是,显示警告对话框时,如何每次更新显示的消息?

评论