1.原因一
没找到控件,忘记setAdpater了,这些就不讲了
2.原因二
ArrayList中的数据都没有加载到ListView中,导致后面放进ArrayList中的数据没有显示
比如
private List<SiteList> siteLists=new ArrayList<>();
siteAdapter = new SiteAdapter(siteLists,this);
lvSiteList.setAdapter(siteAdapter);
//在之后在再更新list中的数据也不行
特别是在生命周期的时候别忘了,是先添加数据,在setAdapter,空数据的list是不能调用Adapter中的getView方法的
3.原因三
你不能在给集合重新找个地址
比如
private List<SiteList> siteLists=new ArrayList<>();
//*****可以先clear list 在 addAll
siteLists.clear();
siteLists.addAll(siteServiceModel.getResults().getSiteList());
//注释的是错误的方式
//siteLists=siteServiceModel.getResults().getSiteList();
siteAdapter.notifyDataSetChanged();

本文探讨了ListView在Android应用中不显示数据的三个常见原因:未正确设置适配器,数据未能加载到ListView,以及错误地为集合分配新地址。文章提供了详细的代码示例和解决方案,帮助开发者避免和解决这些问题。
1万+

被折叠的 条评论
为什么被折叠?



