为什么android studio调试器不停止在runonuithread内部调用的代码

mxg2im7a  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(345)

我在上发现了以下代码的错误:

(it.context.get() as? Activity)?.runOnUiThread(Runnable {
            it.weakRefIOnDataRefreshed.get()?.onDataRefreshed(refreshedItemList)
        })

上面的代码在非ui线程中运行的run方法中。我想用refresheditemlist作为参数在fragment中调用一个方法。我想调试ondatarefreshed方法(它在一个片段中),我在这个函数中放了一个断点,但什么都没有发生。我还放置了一个log方法,以确保代码正在运行,并且log方法确实打印出来。调试器没有停在我标记的行上可能有什么问题?

dgjrabp2

dgjrabp21#

在后台线程工作的类中,定义一个处理程序对象并使用post方法来更新ui,例如(java)。

// Define handler object
Handler handler = new Handler(Looper.getMainLooper);
...
...

// Here ise where you want to update your UI
handler.post(() -> {
    // Your code with which you want to update the UI
}

相关问题