android - publishProgress 不调用 onProgressUpdate

标签 android android-asynctask

我有一个 AsyncTask,它使用轮询队列来查看是否有新对象到达。当它检测到新对象时,我让它以字符串形式收集信息,然后发布进度(信息)。在 onProgressUpdate 中,它将字符串添加到列表中。我遇到的问题是程序永远不会进入 onProgressUpdate。我在调试器中单步执行它,我看到它调用 publishProgress,但它从未进入 onProgress 更新。看起来像这样:

    @Override
    protected void onProgressUpdate(String... values) {
        messageQueue.add(displayName + " : " + values[0]);   //I have a breakpoint here that the program never hits.
        ((BaseAdapter) getListAdapter()).notifyDataSetChanged();
        super.onProgressUpdate(values);
    }

    @Override
    protected Void doInBackground(Void... params) {
        while (true) {
            Packet p = pc.pollResult();
            if(p != null){
                String body = ((Message) p).getBody();   //I have a breakpoint here that the program hits only when a new object is in the queue
                publishProgress(body);
            }
        }

    }

最佳答案

我遇到了一个问题,它没有被调用,但我只是注意到我把它放在了错误的类中。它当然应该在 AsyncTask block 内,但实际上我是在该 block 外创建的

关于android - publishProgress 不调用 onProgressUpdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194070/

相关文章:

Android 将 BluetoothSocket 传递给下一个 Activity

android - 方法 onNewIntent(intent) 未在 NFC 中执行

android - 在 AsyncTask 未结束之前如何防止旋转

java - AsyncTask执行后如何取消?

android - 如何在等待接收短信 5 分钟时在 android 中显示进度条?

java - 安卓 : What should I do instead of using a deprecated function(getwidth() )?

android - 从不同的 Activity 中调用函数

android - 将 Json 对象保存到变量名与 Json 中相同的类中

android - 应用程序关闭后如何在 fragment 中停止 AsyncTask

AsyncTask 类中的 Android Intent 给出错误