当前位置: 代码迷 >> Android >> list数组绑定ListView实时更新数据ListView置顶有关问题,求教育
  详细解决方案

list数组绑定ListView实时更新数据ListView置顶有关问题,求教育

热度:95   发布时间:2016-05-01 12:00:47.0
list数组绑定ListView实时更新数据ListView置顶问题,求教育
先上代码:
adapter = new SimpleAdapter(this.Context, Arraylist, R.layout.activity_lxxx_show, 
new String[]
{
"_id", "line_id", "sort_order", "station_name", "status", 
"Top_colour", "Bottom_colour", "Left_colour", "Right_colour"
}, 
new int[]
{
R.id._id, R.id.tv_line_id, R.id.tv_sort_order, R.id.tv_station_name, R.id.tv_status, 
R.id.imageView_Top, R.id.imageView_Bottom, R.id.imageView_Left, R.id.imageView_Right
});
lv = (ListView) this.Context.findViewById(R.id.listView_lxxx);
lv.setAdapter(adapter); //将数据显示到ListView上

adapter.notifyDataSetChanged();



我需要某时间段重复调用这里的代码,把不同的Arraylist数据绑定到适配器上,这样确实是可以实时更新数据了,但是ListView老是自动置顶。置顶就是我滑动LIstView到底部的时候,ListView重新绑定数据完成之后会显示到ListView最上方。这个问题怎么解决?我应该怎么控制ListView呢?
listview

------解决方案--------------------
不用setSelection.

第一次后,不再调 lv.setAdapter(adapter);

而是这样:  adapter.addData(your data); // or adapter.setData(data);
然后 lv.notifyDatasetChanged();

就好了。 它不会自动滚到顶部了。

------解决方案--------------------
方法中有int position 参数的。。用来控制listview的位置。。
------解决方案--------------------
下面是链接,你自己去看吧。http://www.iteye.com/topic/1112728
  相关解决方案