如何恢复Android ListView的位置?

时间:2015-08-19 12:12:11

标签: android android-listview

我使用此代码保存列表查看位置。 我怎么能恢复它?

View c = listview.getChildAt(0);
int scrolly = -c.getTop() + listview.getFirstVisiblePosition() * c.getHeight();

3 个答案:

答案 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);