0

由于某种原因,我在 runOnUiThread 调用中的代码似乎没有执行:

        ((Activity) ctx).runOnUiThread(new Runnable() {
            public void run() {
                Log.d(TAG,"createAndDisplayDialog - Start dialog");
                progressDialog = new MyDialog(ctx);  
                progressDialog.show();
                Log.d(TAG,"createAndDisplayDialog - Started dialog");
            }
        });

该对话框根本不显示。

但是,为了使事情更加混乱,它在某些情况下确实有效,但在其他情况下无效。

我们拥有的是一个包含数据的列表。该列表包括一个“获取更多数据”按钮。然后,onclick 侦听器调用代码以获取更多数据并将其添加到适配器使用的列表中。当我填充第一批数据时,它会在前一个活动中获取,然后通过适配器发送到显示活动以在列表中显示。在这种情况下会显示对话框。但是,当我要求更多数据时,这些数据运行的代码与获取原始数据集时使用的代码相同,对话框不再显示。

在这两种情况下,数据的获取都是在 AsyncTask 中完成的。数据正常,但对话框根本不显示。

更令人困惑的是,我们还有其他未提前获取数据的屏幕。取而代之的是适配器完成所有工作——获取原始数据和请求的任何更多数据。在这种情况下,对话框出现没有任何问题。

我可能错过了一些简单的东西,但似乎找不到它。

4

0 回答 0