第二次呈现给用户后,AlertDialog无法正常工作

时间:2018-03-03 12:19:15

标签: android android-alertdialog

似乎我的AlertDialog在形成时不起作用并且第二次显示。我在主程序中捕获了PickFsDone,当我第二次调用下面的函数时似乎没有设置为true ...

任何建议,我做错了什么?

提前致谢, 问候, 罗布。

  

编辑:在代码中添加了更多详细信息。主程序循环停止   等待Dialog,虽然Dialog已在屏幕上成功结束。   这种情况第二次发生,第一次起作用......添加   dialog.dismiss()deosn的帮助。

    public void createListAlertDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Pick a Sampling Rate");
        builder.setSingleChoiceItems(SampleRates_Str.toArray(new String[SampleRates_Str.size()]), SampleRates_Index,
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int item) {
                        SampleRates_Index = item;
                    }
                });

        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
                    public void onClick(DialogInterface dialog, int which) {
                        PickFsDone = true;
                    }
                }

        );

        AlertDialog alert = builder.create();

        alert.show();
}

public void PickSampleRate ()
{
  final boolean Wait;

  runOnUiThread(new Runnable() {
    @Override
    public void run() {
      //Create the alert dialog
      createListAlertDialog();
    }
   }
  );
}

// In Main Program :
PickFsDone = false;
PickSampleRate();

//Wait for Dialog to finish
while (true) {
    if (PickFsDone) break;
};

2 个答案:

答案 0 :(得分:0)

阅读这篇文章可以帮助您:Dialog

答案 1 :(得分:0)

在创建新对话框之前,您是否已取消或取消该对话框?