如何在执行AsyncTask之前强制更新UI?

时间:2019-02-13 00:22:45

标签: android android-asynctask

我是Android开发的新手。单击应用程序栏上的菜单图标时,我正在执行AsyncTask。但是,在AsyncTask完成之前,该图标永远不会显示它已被按下。因此,尽管网络任务可能需要花费几秒钟的时间,但对于用户来说,按钮似乎什么也没做。

是否有一种方法可以强制UI在执行任务之前显示图标按下动画?我设置的祝酒也要到AsyncTask之后才能执行。预先感谢。

编辑:我最终使用了执行延迟的处理程序,如达斯坦(Dastan)在下面的注释中所建议的:

its not recommended but if still its not solving may be you can add delay Handler().postDelayed(asyncTask,400); 
//400ms animation time – dastan Feb 13 at 2:06

这允许UI更新。但是,我想找到一个更有效的解决方案。

1 个答案:

答案 0 :(得分:0)

您好,欢迎来到android开发。 第一种解决方案:将此库用于按钮https://github.com/medyo/Fancybuttons

第二个解决方案:不要在UI线程中运行,因为它将停止绘制UI。

第三个解决方案:使用功能强大的RX库,您无需等待进程完成。

我的建议是使用有效且易于维护的第三种解决方案。