让ListView回来原来的位置

让ListView回到原来的位置

当从ListView中的某一个Item跳转到其他的Activity,进行操作之后,ListView可能需要刷新(重新加载数据源),这个时候ListView就会回到原始的状态,即:从第一个Item开始显示。我们要做的是让它回到原来的位置

//记录当前的ListView的位置
    private int CURRENT_LISTVIEW_ITEM_POSITION = 0;
    @Override
    public void onPause()
    {
        super.onPause();
        CURRENT_LISTVIEW_ITEM_POSITION = lvOfContact.getFirstVisiblePosition();//得到当前ListView的第一个
        System.out.println("onPause记住当前位置:" + CURRENT_LISTVIEW_ITEM_POSITION);
    }
    


    @Override
    public void onResume()
    {
        super.onResume();
        
        lvOfContact.setSelection(CURRENT_LISTVIEW_ITEM_POSITION);//回到原来的位置
        
        System.out.println("滚动到原来的位置:" + CURRENT_LISTVIEW_ITEM_POSITION);
    }


//在ListView重新加载数据源
//调用方法,就可以回到原来的位置了

 lvOfContact.setSelection(CURRENT_LISTVIEW_ITEM_POSITION);

 

posted @ 2015-04-28 11:01  Michelle's Home  阅读(380)  评论(0)    收藏  举报