Android:如何在所有后台线程完成后启用按钮
Posted
技术标签:
【中文标题】Android:如何在所有后台线程完成后启用按钮【英文标题】:Android: how to enable button after all background threads finished 【发布时间】:2020-10-12 11:34:55 【问题描述】:我是android新手,看起来很简单,但我有以下应用程序结构。
应用在主活动中有按钮(点击后变为禁用)和两个选项卡片段。
活动选项卡片段通过模型类运行大约 20 个线程。
所以只有模型类知道所有线程何时完成,但在模型中使用视图元素是一个糟糕的决定。
如何在所有后台线程完成后启用按钮?
超时是不好的选择,因为没有人知道将在什么设备上执行代码,这可能需要一些时间。 Thread.join()
或 wait()
在我的情况下挂起 ui。
感谢您的任何建议。如有必要,我可以提供代码,但问题似乎很笼统。
【问题讨论】:
一种方法是,一旦线程完成执行,您可以使用回调来通知您的活动。 【参考方案1】:您应该创建一个新的接口,作为侦听模型类中线程事件的侦听器
或者
当线程完成设置按钮启用时,使用 callBack() 通知 MainActivity。 要创建一个新的监听器,请参考这个问题:
How to create our own Listener interface in android?
【讨论】:
以上是关于Android:如何在所有后台线程完成后启用按钮的主要内容,如果未能解决你的问题,请参考以下文章