需求是在ListView中设置,相应条目的字体颜色变化,一屏是可以加载完所有的listview中的数据的,可是数据是动态的,需要定时的刷新,如果不刷新,那么在getview方法中控制,position是可以完成需求的,但一旦刷新了,也就是调用适配器的adapter.notifyDataSetChanged();那么listview的条目显示颜色就不准确了,如果改变三个item的字体颜色,那么会变6个条目,搞不懂,怎么回事,请指教

解决方案 »

  1.   

    把之前数据清空 listView.removeAllViews()
      

  2.   

    如果是想改变3个条目的颜色,结果却改变了6个条目的颜色,则可在getview中重新生成对应的view
    如果是原来有3个条目,结果显示出了6个条目,则是因为在更新数据时,只是增加了新的条目,原有的条目并没有删除,造成了数据叠加。方法可以是只修改原有数据条目,即用新的数据替代原有条目,或在更新时将原有数据都清空,再重新添加新的全部数据。此处的数据是指getview在生成或改变原有View时用到的要显示的数据。