【发布时间】:2018-09-19 11:36:00
【问题描述】:
我是 Android 开发的新手,我想知道从另一个类更新 UI 的最佳做法是什么。
示例:当我进入一个活动时,我启动了一个函数myClass.PerformCalculation(),这需要一些时间,当计算结束时,我想用计算结果更新 UI。
这会产生以下错误:
CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
我正在考虑在活动中使用广播接收器并在myClass.PerformCalculation() 的末尾执行SendBroadcast,这是一个好习惯吗?
【问题讨论】:
-
您应该将计算结果返回给活动并更新活动中的UI。不要使用广播
-
感谢您的反馈。根据文档 ASyncTask 似乎是在我的情况下使用的正确方法。