2 demonmu DemonMU 于 2016.03.26 02:34 提问

android 中notifyDataSetChanged() 无法添加item!!

图片说明
我在onActivityResult()方法中调用 myadapter.notifyDataSetChanged()来添加更新的内容,但是只能显示一行,再按“添加“按钮不能添加。 问一下是什么原因?

6个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.03.26 07:05
已采纳

onActivityResult是从另一个activity返回的时候调用的。看你这代码,每次返回当前activity,list都是重新new的,再次添加跟第一次添加没区别。不会显示多个。
把list定义成static

DemonMU
DemonMU 嗯嗯,后来我发现了!!还是谢谢你了!!
2 年多之前 回复
u010506336
u010506336   2016.03.26 12:17

你每次添加list都被你重新new了,肯定就只有一个了

candy_rainbow
candy_rainbow   2016.03.26 09:30

重新实例化list没用的,先list.clear(),然后在.addAll(),参数是新的list,然后再调用notify..

qq_34253486
qq_34253486 需要对list提全局,然后在添加数据之前,先对集合进行清空,即list.clear();最后调用adapter的刷新方法
2 年多之前 回复
liyuhaoo
liyuhaoo   2016.03.26 09:37

list和adapter定义为全局static变量

lxk_1993
lxk_1993   Rxr 2016.03.28 10:37

图片说明

没圈的 放到 oncreate() 里面去就好了

qq_27578023
qq_27578023   2016.06.06 22:10

onActivityResult是从另一个activity返回的时候调用的。看你这代码,每次返回当前activity,list都是重新new的,再次添加跟第一次添加没区别。不会显示多个。
把list定义成static

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
listview点击事件失效
1., 一种是 item中存在 ImageButton 等可以点击的组件,这会抢先获得ListView的焦点. 从而导致item点击失效.   2.适配器的getView中处理TextView的时候,调用了适配器的notifyDataSetChanged. 在notifyDataSetChanged之后导致item失去焦点.   3.item 有setClickable(true)  se
android listview 删除item 刷新 notifyDataSetChanged()失效问题
问题:在item点击删除后,调用了adapter.notifyDataSetChanged();刷新,
recycleView调用notifyDataSetChanged()失去焦点问题
我的项目中,在一个recycleView有一个EditText,里面输入内容的时候,下面一个list列表匹配出数据。 但是不像手机搜索联系人这样,EditText一直占有焦点。 这个一旦匹配出数据,调用notifyDataSetChanged()的时候,EditText就会失去焦点,软键盘就会自己关闭,这样每次输入一个字符想再次输入的时候又要再点击这个EditText,对用户体验很不好。 这
[Android] ViewPager的notifyDataSetChanged刷新无效果的解决方案
最近在开发中遇到了一个问题:ViewPager设置的PagerAdapter调用notifyDataSetChanged()时界面无刷新以至于影响到功能的实现。不过有一个很傻的方法倒是可以解决就是给Viewpager重新设置一次适配器,下面我来分享一下如何优雅的解决这个问题吧。 大家进入ViewPager的源码可以看到下面的代码段: /** * Set a PagerAdapt
listview调用notifyDataSetChanged()后不刷新界面
listview的item数量有改变时调用notifyDataSetChanged()后不刷新界面 解决方法: 调用notifyDataSetChanged()后调用notifyDataSetInvalidated () public void notifyDataSetChanged ()与notifyDataSetInvalidated()的区别: 1) notifyDataSetCh
RecyclerView notifyItem闪烁的问题
之前我们做点赞,用listview做的话,就是在item实现点击后,写一个scal动画,不过现在都转到RecyclerView,那么要做这种效果于是做了一个notifyItemChanged()的操作,功能都顺利实现,美中不足的是当前Item闪了一下,QA甚至为此提了Bug,一开始以为是图片加载库的问题,之后随着图片加载库从ImageLoader换成Picaso,又换成Glide,这个Bug一直如
关于RecyclerView的notifyDatasetChanged和notifyItemxxx方法的一个注意点
场景是这样的: RecyclerView的item中有一个button,点击button后会删除这个item,如果我调用mAdapter.notifyDataSetChanged();,数据正常显示,但如果我调用mAdapter.notifyItemRemoved(position);,就会出现删除异常的各种问题,比如数组越界的问题等等。原因分析 经过分析源码,发现notifyDataSetCh
ViewPager中使用FragmentPagerAdapter.notifyDataSetChanged无法更新当前Fragment解决方案
最近,在使用ViewPager和FragmentPagerAdapter时遇到如下问题(为了说明问题先上图): 图一 图二 功能描述:该页面为ViewPager的实现,且一共有两个Fragment:Fragment01与Fragment03;左右滑动可实现Fragment01与Fragment03的切换。现有需求: 点击button01与button02可进行Fragment01与Fragmen
notifyDatasetChanged() listview gridview 不生效的一种加分享别人的遇到的情况
先列出我遇到的问题: public class MyBaseAdapter extends BaseAdapter { //... private boolean[] selectBLs; //在构造中有初始化都为false public void setActionMode(int pos) { selectBLs[pos] = !selectBLs[pos]; } get
动态添加删除ExpandableListView的item的例子
这个例子可以学习到如下几点:  1.通过自定义Dialog(单独布局的xml文件进行弹出显示)  2.通过menu点击监听添加,删除view中的items  3.点击ExpandableListView中group和child的事件监听   下面是代码:  1.ExpandableListViewStudy.java [java] view plaincopy