我正在开发一个自动增长的列表视图。每次在我打电话之前
mAdapter.notifyDataSetChanged();
我用进度圈切换列表中的最新项目。
/**
* displays a progress banner instead of the last item.
* @param reload boolean
*/
protected void showReloadView(boolean reload){
View item = mListView.getChildAt(onLastItem);
//View item = mListView.getAdapter().getView(onLastItem, null, null);
content = item.findViewById(id.itemContent);
loading = item.findViewById(id.itemLoading);
if(reload){
content.setVisibility(View.GONE);
loading.setVisibility(View.VISIBLE);
}else{
content.setVisibility(View.VISIBLE);
loading.setVisibility(View.GONE);
}
我的问题是我正在回收我在 SDK 中作为 EfficientAdapter 提到的视图。因此我的 ListView 对象当前包含不超过 8 个项目(因为没有更多可见)
第一次运行没问题,因为“onLastItem”是7(可见项 - 1),但第二次运行
ListView.getChildCount()
仅返回 6 个项目。那么为什么我的 ListView 越来越小了?因为 Visibility.GONE?我做错了吗?
我也尝试使用未注释的行。我的适配器知道列表的实际大小,我什至可以得到视图。但是设置这些视图的可见性没有效果。
提前谢谢