0
点赞
收藏
分享

微信扫一扫

《Qt/UI美化实战课程》第一章 无边框窗口(11讲)

芝婵 2024-03-20 阅读 12
android

一、看到别人app有这么一个runOnUiThread 函数用法。

二、在Android中,runOnUiThread 是一个非常重要的方法,它的作用是让一个Runnable对象在主线程(UI线程)上运行。在Android中,主线程是负责更新UI的线程,因此,任何需要更新UI的操作都需要在主线程上执行。

例如,如果你在一个后台线程中获取了一些数据,然后你想要将这些数据显示在UI上,你就需要使用 runOnUiThread 方法将更新UI的操作放在主线程上执行。以下是一个例子:

new Thread(new Runnable() {
    @Override
    public void run() {
        // 在后台线程中获取数据
        final String data = getDataFromServer();

        // 使用 runOnUiThread 方法将更新UI的操作放在主线程上执行
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // 在主线程中更新UI
                textView.setText(data);
            }
        });
    }
}).start();

在这个例子中,我们在一个新的线程中获取数据,然后使用 runOnUiThread 方法将更新UI的操作放在主线程上执行。

需要注意的是,如果你已经在主线程中,你可以直接更新UI,无需使用 runOnUiThread 方法。此外,如果你尝试在主线程之外的线程中直接更新UI,Android会抛出一个 android.view.ViewRootImpl$CalledFromWrongThreadException 异常。

runOnUiThread(() -> {
        // 在主线程中更新UI
        textView.setText(data);
});
举报

相关推荐

0 条评论