关于listview的setAdapter跟notifyDataSetChanged
关于listview的setAdapter和notifyDataSetChanged
做了个需要更新listview的项目,在listview更新时遇到问题,抓耳挠腮半天仍未能解决,最后请教高手才得以解决(其实是自己太菜
了,现在想想又是被一个简单问题困扰了)
1,Adapter中notifyDataSetChanged的作用
对于Android开发来说处理一些界面需要和Adapter适配器打交道,虽然Android自带了一些比如ArrayAdapter但是大多数情况下无
法满足我们需要,所以就要从BaseAdapter派生一个类满足我们特殊的需要。
首先我们可能重写getView(),通过LayoutInflater的inflate方法映射一个自己定义的Layout布局xml加载或从xxxView中创建。这些大
家可能滚瓜烂熟了但是仍然很多Android开发者对于BaseAdapter中notifyDataSetChanged()方法不是很理解,notifyDataSetChanged方
法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容。
2,setAdapter的作用
顾名思义,就是为listview放置适配器,这次需要更新listview时错就错在错用了notifyDataSetChanged,而没有用setAdapter。
其实问题很简单,我的更新不是常见的对一个单独的listview的增删改查的更新操作,而是每次需要取到新的list的更新,每次都是取新
的list就要每次都setAdapter一下,最后得以更新listview。