gpt4 book ai didi

android - 以编程方式确定代码是否从 UI 线程执行

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:33 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我将更新 UI 元素的代码提取到一个单独的实用程序包中以供重用。如果当前执行上下文来自 UI 线程而不是非 UI 线程,我希望我的代码能够主动并以不同方式更新 UI。

是否可以通过编程方式确定当前执行是否发生在 UI 线程上?

我希望实现的一个简单示例是:我的应用程序一直在更新大量 TextView。所以,我想要一个像这样的静态实用程序:

public static void setTextOnTextView(TextView tv, CharSequence text){
tv.setText(text);
}

如果从非 UI 线程调用,这显然不会起作用。在那种情况下,我想强制客户端代码也传递一个 Handler,并将 UI 操作发布到处理程序。

最佳答案

为什么不用Activity中的runOnUiThread方法

它接受一个 runnable 并立即运行它(如果从 UI 线程调用),或者将它发布到 UI 线程的事件队列。

这样您就不必担心您的方法是否已从 UI 线程调用。

关于android - 以编程方式确定代码是否从 UI 线程执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8137533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com