【问题标题】:Change view from another thread [closed]从另一个线程更改视图[关闭]
【发布时间】:2021-04-06 10:52:10
【问题描述】:

我正在尝试从另一个类中的另一个线程更改 TextView,但我不确定如何最好地解决这个问题。

我正在制作一个即时消息应用程序,当通过输入流接收消息时,我想更改在另一个类中设置的视图。

是否应该实现一个侦听器来像这样处理它?

  1. 客户端 1 通过 A 类中的message = inputstream.readObject() 读取消息

  2. B 类中的 Observer/Listener 函数通过 A 类调用,并使用 message 值设置 TextView。

谢谢!

【问题讨论】:

    标签: java android view


    【解决方案1】:

    最佳解决方案 - 使用自定义 Listener 接口 - How to create our own Listener interface in android?

    别忘了,ui 只能从主线程更改。 如果您有权访问活动,则可以使用:

    activity.runOnUiThread(() -> {
    //change the view
    });
    

    如果你不这样做:

    new Handler(Looper.getMainLooper()).post(() -> {/*change*/ });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多