先上代码:
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