2 magege2015 magege2015 于 2016.05.08 19:03 提问

适配器notifyDataSetChanged()后不执行Getview()方法

如题,就是我的listview适配器notifyDataSetChanged()后不执行Getview()方法

8个回答

magege2015
magege2015   2016.05.08 19:04

getcount方法有返回值,就是Getview方法不执行

magege2015
magege2015   2016.05.08 19:06

listview界面没更新

CSDNXIAOD
CSDNXIAOD   2016.05.08 19:12

适配器中的getView方法
在适配器中,何时调用getView()方法?
对于适配器ArrayAdapter中getView方法重写
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

magege2015
magege2015   2016.05.08 19:28

新手一枚,有木有帮忙解答。。。

l_vaule
l_vaule   2016.05.08 19:29

正常来说如果数据改变的话,调用notifyDataSetChanged()后肯定会再去调用getView()的,感觉楼主应该贴点代码出来

lbcab
lbcab   2016.05.08 19:40

getView() 没有调用一般是两种情况引起的:
1. getCount的返回值为0
2. listview visibility 属性为false 或 gone, 换句话说控件隐藏了。 listview所在的布局隐藏,和listview隐藏是一样的。

q610098308
q610098308   2016.05.08 22:44

mAdapter = new Adapter(this,cursor);
setListAdapter(mAdapter);

            如果你给的是 cursor,需要再次取cursor:
            然后设置 adapter : mAdapter.changeCursor(cursor);
magege2015
magege2015   2016.05.11 18:25

已经解决了,谢谢大家的回答

magege2015
magege2015 回复Earth_Programer: 你应该把代码贴上来,我的那个问题是细节没做好
一年多之前 回复
Earth_Programer
Earth_Programer 请问是什么原因?能不能告诉下,我也遇到了相似的问题
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
pulltorefreshlistview notifydatasetchanged数据无效与getView没有执行
首先notifydatasetchanged 无效问题,需要在getCount,getView 中打印日志或者使用断点看一下是不是执行了,对于count或者数据源没有改变是不执行getView的。 对于listview布局异常也不会执行getView,例如listview不可见或者高度设置为0.对于pulltorefreshlistview 我在布局上使用了wrap_content,那么导致布局
Adapter中notifyDataSetChanged()不刷新GetView的问题
问题描述:在ListView的Item中,有一个按钮删除该条目,测试时发现,删除之后,没有刷新界面。notifyDataSetChanged不好用 解决办法:没刷新的问题是,notifyDataSetChanged会触发getView。在我优化getView的时候,即convertView.setTag(R.id.tag_text, holder) ;同时也把传入的View的数据源也优化了,即c
Adapter不调用getView()的可能
接着写上个哥们留下来的项目,里面有个gridView用BaseAdapt适配,结果死活没有显示,打了日志之后发现getView()也没有被调用.getView()不调用有一下几种可能 getCount()方法返回为0 接手的项目就是getCount()里写成返回为0 listView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到 listView的长度,然后根据这个长
android编程练习中遇到的问题(三)-自定义适配器getView()不执行
今天在做自定义适配器练习的时,发现ListView无论如何都不加载项布局文件,只有一片白板儿。反复检查代码没有发现问题,就在getView()方法中调用了Log.v调试信息,查看是否执行了此方法 public View getView(int i, View view, ViewGroup viewGroup) { Log.v("student", "succesful"
BaseAdapter执行getCount()不执行getView()方法解决。
前言:   在给ListView设置适配器(BaseAdapter)时,只执行了getCount(),返回值不为0,却不执行getView()。但是没报任何错误肯异常,网上查了各种资料未解决,最后想了想是不是其他地方错了,最后终于解决。 解决办法:: 未执行getview()的几种情况 1.  getCount()返回值为0; 2.布局文件有问题。 3.
在适配器中,何时调用getView()方法?
getView执行的次数和getCount没有直接的关系   ,getCount和你listView里面的条目数量(行数量)有关系 。 getView方法执行次数取决于你屏幕上显示几个条目,比如你有100行  ,但是你一屏只能显示5行,那么启动程序的时候 系统调用5次getView方法,当你把listView往下拉的时候会显示出其他未显示的行,这样系统就会调用getView方法,每显示一个新的行
关于ListView 中getCount有值getView不调用的问题
listview中getCount执行而getView不执行的几种原因
关于listview的自定义adapter不执行getview()方法的几种情况和解决办法
listview是一个比较常用的控件,为了适应自己需要的效果往往会继承baseadapter去实现自定义的适配器。        在该适配器中出错最多的应该是getview()了。        从接触listview控件开始,第一个报的错就是关于getview()的。昨天有人问了我一个同样是不执行getview()的问题,所以我觉得有必要去写一篇博文记录一下。算是自己学习总结了。    
关于adapter刷新执行getView()方法
setAdapter 时,首先会执行getCount(),当getCount()  返回的是0时,就不会去执行getView()方法, 如果 开启线程去下载数据,然后在getCount()中返回其size, 开始的时候因为还没有下载数据,返回的size可能是0,所以不会去调用getView()方法,界面就不会被填充。    下载完成后  通过 notifyDataSetChanged()方法
Android RecyclerView调用notifyDataSetChanged方法无效的解决方法
当我们用RecyclerView展示条目时,如果有了新的数据需要刷新适配器,都会调用notifyDataSetChanged方法来刷新,但是发现并没有效果,代码如下: 修改后,代码如下: 就会发现适配器可以刷新了