Android(安卓)- ListView在setAdapter()后,getChildCount总是0的原因
16lz
2021-01-26
本文转载,来自http://www.cnblogs.com/linlf03/archive/2013/06/06/3120408.html;
使用ListView在setAdapter()后,对ListView的childView做一些操作。但是每次要取得childCount总是0。
原來setAdapter是非同步(asynchronous)。
只要在setAdapter()之后,加入post函式去更新ListView的ChildView即可。
lv = (ListView)findViewById(R.id.list); lv.setAdapter(adapter); lv.post( new Runnable(){ public void run(){ // fileList为与adapter做连结的list总数 if (fileList.size()==lv.getChildCount()){ //对ListView中的ChildView进行操作。。。 } } }); 本段也是转载: android listView.getCount 与 listView.getChildCount 区别ListView.getCount()(实际上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。 也就是“所包含的 Item 总个数”。 ListView.getChildCount()(ViewGroup.getChildCount) 返回的是显示层面上的“所包含的子 View 个数”。 当 ListView 中的 Item 比较少无需滚动即可全部显示时,二者是等价的;当 Item 个数较多需要滚动才能浏览全部的话, getChildCount() < getCount() 其中 getChildCount() 返回的是当前可见的 Item 个数 在使用listview.getchildcount=0,可是使用getcount替换,得到的结果不为0。 |
更多相关文章
- android 界面添加返回一栏
- Android(安卓)调用系统相机返回data为null
- Android关于滚动View标题栏渐变的解决方案
- Jsp读取数据库返回json数据,Android客户端接收json
- Android(安卓)Material Design系列之CollapsingToolbarLayout
- Android(安卓)4.0以后正确的获取外部sd卡存储目录
- Android中Touch事件流向
- Android数据储存——Sqlite
- android解析JSON字符串 (最强最简便方法)