【问题标题】:How to display a progressbar when loading a new android fragment?加载新的android片段时如何显示进度条?
【发布时间】:2012-12-13 15:01:52
【问题描述】:

我正在使用片段向用户显示信息。 问题是。其中四个片段需要加载大量信息才能显示。我如何在获取片段数据时显示旋转进度条(不锁定 UI 线程)?

我应该创建一个名为 ProgressBar 的片段,它只包含一个进度条。然后在我在另一个线程中加载新片段时显示这个片段?

在每个片段中都有进度条似乎有点傻,或者这是正常的方法吗?

【问题讨论】:

    标签: java android android-fragments progress-bar fragment


    【解决方案1】:

    我认为显示不确定的进度就足够了,类似于 ListFragment 开箱即用的方式。不要认为它是加载片段。您正在等待片段的数据加载。 Fragment 立即加载,显示一个不确定的进度条,然后注册一个回调,该回调稍后将触发并使用检索到的数据填充其 UI。

    【讨论】:

    • 我是否应该在每个视图中创建一个进度条,然后打开或关闭?如果需要很长时间,我想给用户一个退出操作的机会。
    • 通常,用户通过按下后退按钮取消不确定的进度。当屏幕上有多个片段时,此场景并不真正适用于单个任务,而是适用于所有任务。除非您想做一个自定义的事情并在每个片段中放置一个取消按钮,否则您将不得不在活动级别挂钩后退按钮,然后向每个片段广播一个信号以取消加载。
    【解决方案2】:

    你应该在丢失东西的时候加入你的片段生命周期回调 我认为 onCreateView 只是为长时间运行的任务创建进度条使用异步任务然后停止进度条这是我认为人们使用的一般方式。

    谢谢

    【讨论】:

    • 问题仍然存在,我应该在每个视图 xml 中创建一个进度条并隐藏那个吗?或者这是一种更好的方法,所以我不必在每个视图中总是有一个进度条?
    【解决方案3】:

    我认为您可以在每个片段中使用单独的<view> 来显示每个片段的进度。这样它就不会冻结其他片段,也不会冻结用户。片段只有在用户没有停止时才有用。

    【讨论】:

      猜你喜欢
      • 2017-09-24
      • 1970-01-01
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 2011-06-19
      • 1970-01-01
      相关资源
      最近更新 更多