【问题标题】:ProgressDialog in the main activity (not Asynctask)主要活动中的 ProgressDialog(不是 Asynctask)
【发布时间】:2015-05-11 00:02:55
【问题描述】:

由于我需要从Asyntask中获取String数组,所以我需要在execute()之后使用get():

String[] result = task.execute().get();

但我也想要在任务运行时加载循环,并且 ProgressDialog 仅在您不使用 get() 方法时才有效。这已被证实,我已经做了一些测试。 所以我认为这里剩下的唯一选择是从 MainActivity 调用 ProgressDiaglog。但不幸的是,它不起作用。 有什么解决办法吗?

【问题讨论】:

    标签: java android android-asynctask progressdialog


    【解决方案1】:

    永远不要在异步任务中使用get(),如果你需要在异步任务中完成某些事情,你需要将它传递给onPostExecute并在那里使用它。

    使用 get() 完全违背了 asycntask 的设想

    【讨论】:

    • 我知道,但是如果 asynctask 是一个单独的类并且我需要在我的主要活动中获取字符串数组怎么办?
    • 那么你需要实现一个interface,在数据准备好时回调启动任务的类
    • 嗯,我是 android 新手,你能说得更具体点吗?
    猜你喜欢
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2012-08-13
    • 2014-12-18
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    相关资源
    最近更新 更多