提问人:Kevin 提问时间:11/16/2023 更新时间:11/16/2023 访问量:24
不会消失的列表视图微调器/加载器
Listview spinner/loader that doesn't disappear
问:
在我的xml中,我有一个列表视图,我用适配器填充了它。
<ListView
android:id="@+id/listPartenaires"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginTop="12dp"
android:layout_marginRight="16dp"
android:divider="@null" />
当我向下滚动页面时,我去添加更多项目,在列表视图的末尾出现一会儿微调器/加载器,然后在显示行时自行消失。
如果我滚动几次,然后进行搜索,显示的行数比以前显示的要少,微调器将始终保持对我显示。
我想弄清楚如何隐藏它,考虑到我在视图中没有真正的微调器对象/小部件
谢谢
答:
1赞
Oyindamola Gideon Olarewaju
11/16/2023
#1
如果使用后台线程或协程(异步)将数据加载到 ListView 中,则加载指示器的生命周期可能会出现问题,因此使其能够感知生命周期非常重要。
以下是您可以注意的几点:
显示微调器:您可以选择在开始加载数据时(例如添加新项目时)显示加载指示器。可以使用 ProgressBar 或任何其他类型的视觉提示。您可以显示加载微调器。
隐藏微调器:数据加载完成后,应隐藏加载指示。确保为此使用 UI 线程。
处理边缘情况:确保即使数据集为空或存在错误,也要调用隐藏函数。
评论
0赞
Kevin
11/16/2023
谢谢。我没有微调器,从列表视图中得出的。我正确地终止了线程。正如我之前所说,如果我直接进行搜索,我没有问题,而如果我首先向下滚动列表并显示 40 行,然后显示搜索中的 18 行,我就剩下加载器了。如何强制停止/隐藏 ListView 加载器?
评论