在我的应用中,我需要从ListView
删除一些行。我可以从数据源中删除并通知适配器数据已更改。但是,如果我删除当前可见的上方的行,列表视图会向下滚动,这是我不喜欢的。我希望尽可能顺利地完成这个过程。我该怎么办?
答案 0 :(得分:1)
删除某些行时,您可以执行类似的操作
// save index and top position
int index = myList.getFirstVisiblePosition();
View v = myList.getChildAt(0);
int top = (v == null) ? 0 : v.getTop();
// notify dataset changed or re-assign adapter here
// restore the position of listview
myList.setSelectionFromTop(index, top);