我使用此代码保存列表查看位置。 我怎么能恢复它?
View c = listview.getChildAt(0);
int scrolly = -c.getTop() + listview.getFirstVisiblePosition() * c.getHeight();
答案 0 :(得分:1)
这是你们所看到的:
的onResume(){
refresh_your_data();
if(listview.getadapter()==null)
// create the adapter
}
else
{
//create method in adapter to refresh list of data
refill_data(listdata);
adapter.notifydatasetchanged();
}
}
答案 1 :(得分:0)
您可以通过此方法将保存的位置恢复为ListView
listview.scrollListBy(scrolly);
如果要将列表滚动到顶部,则可以使用此
listview.smoothScrollToPosition(0);
或者
listview.setSelection(0);
您也可以使用此方法将listview滚动到顶部
listView.setSelectionAfterHeaderView();
答案 2 :(得分:0)
//Create Hashmap of listview item:
HashMap<Integer, View> hashMap = new HashMap<Integer, View>();
//put listview items in hashmap
hashMap.put(position, view);
//get view item at particular position
hashMap.get(position);