gpt4 book ai didi

android - 如何清除 ListView 回收站中的 View ?

转载 作者:IT老高 更新时间:2023-10-28 23:38:04 28 4
gpt4 key购买 nike

在 Android 的 ListView 小部件中,ListView 将保存从内部类中适配器的 getView 方法获得的 View 回收站.

如何清除 RecycleBin 中的 View 并强制 ListView 重新创建所有 subview 。

最佳答案

调用 invalidate() invalidateViews() 对我没有帮助(如正确答案中所述)。回收的 View 仍然存储在 ListView 中。我不得不深入研究 Android 源代码以找到解决方案。我检查了很多方法,包括 setAdapter() ListView 类的 方法(Android API 15):

@Override
public void setAdapter(ListAdapter adapter) {

// ...
mRecycler.clear();
// ...

}

如您所见,设置适配器会清除回收器,该回收器将所有回收的 View 保存在 ListView 中。您不必创建新的适配器,设置相同的适配器就足以清除 ListView 中的回收 View 列表:

Adapter adapter = listview.getAdapter ();
// ... Modify adapter ... do anything else you need to do
// To clear the recycled views list :
listview.setAdapter ( adapter );

关于android - 如何清除 ListView 回收站中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12049198/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com