解決方法很簡單,就是在更新Listview的時候,不要使用setAdapter,如果這樣位置就會置頂了;需要更新ListView的時候,使用Adapter對象的
notifyDataSetChanged方法吧。
使用notifyDataSetChanged方法的時候注意了,更新列表是所有列表項都會被更新,這里存在一個性能上的問題,所以如果你需要改變的只是單一個列表項,建議不要使用notifyDataSetChanged方法,轉而使用獲得該列表項后,然后對里面的控件進行調整吧。
有些時候調用notifyDataSetChanged方法后,getView並沒有自行調用,這時候的解決辦法是調用listview的requestLayout方法即可。