从另一个线程更改视图[关闭]
Posted
技术标签:
【中文标题】从另一个线程更改视图[关闭]【英文标题】:Change view from another thread [closed] 【发布时间】:2021-04-06 10:52:10 【问题描述】:我正在尝试从另一个类中的另一个线程更改 TextView,但我不确定如何最好地解决这个问题。
我正在制作一个即时消息应用程序,当通过输入流接收消息时,我想更改在另一个类中设置的视图。
是否应该实现一个侦听器来像这样处理它?
客户端 1 通过 A 类中的message = inputstream.readObject()
读取消息
B 类中的 Observer/Listener 函数通过 A 类调用,并使用 message
值设置 TextView。
谢谢!
【问题讨论】:
【参考方案1】:最佳解决方案 - 使用自定义 Listener 接口 - How to create our own Listener interface in android?
别忘了,ui 只能从主线程更改。 如果您有权访问活动,则可以使用:
activity.runOnUiThread(() ->
//change the view
);
如果你不这样做:
new Handler(Looper.getMainLooper()).post(() -> /*change*/ );
【讨论】:
以上是关于从另一个线程更改视图[关闭]的主要内容,如果未能解决你的问题,请参考以下文章