解决方法很简单,就是在更新Listview的时候,不要使用setAdapter,如果这样位置就会置顶了;需要更新ListView的时候,使用Adapter对象的
notifyDataSetChanged方法吧。
使用notifyDataSetChanged方法的时候注意了,更新列表是所有列表项都会被更新,这里存在一个性能上的问题,所以如果你需要改变的只是单一个列表项,建议不要使用notifyDataSetChanged方法,转而使用获得该列表项后,然后对里面的控件进行调整吧。
有些时候调用notifyDataSetChanged方法后,getView并没有自行调用,这时候的解决办法是调用listview的requestLayout方法即可。