1

我想在聊天加载时显示进度圈。所以我放了一些进度条,可见性设置为不可见。现在我将可见性设置onPreExecute()为可见和onPostExecute()不可见。显示了圆圈,但就在聊天已经加载并且它没有消失的时候。有人可以告诉我我的错误吗?:o

    @Override
    public void onPreExecute() {
        MainActivity.pbReadChat.setVisibility(ProgressBar.VISIBLE);
    }

    @Override
    public Map<String, ArrayList<String>> doInBackground(String... strings) {
       //...
    return result;
}

public void onPostExecute(Map<String, ArrayList<String>> result) {
    super.onPostExecute(result);
    MainActivity.pbReadChat.setVisibility(ProgressBar.INVISIBLE);
}

编辑:现在它消失了,但在聊天已经加载后才显示doInBackground()

我认为这是我 Async 类的重要内容,希望有人能帮助我

4

1 回答 1

1

onPostExecute()没有被调用,因为doInBackground()没有返回。由于以下原因之一,可能会发生这种情况:

  1. 无限循环。
  2. 无限等待输入。
  3. 未经检查的异常。
  4. cancel()被召唤AsyncTask。在这种情况下,onCancelled()被调用而不是onPostExecute()
于 2013-05-08T22:02:54.177 回答