重新加载数据后,如何重新获得视图寻呼机状态 [英] How can I reatain the view pager state after reloading the data

查看:89
本文介绍了重新加载数据后,如何重新获得视图寻呼机状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用视图寻呼机来显示像水平滚动视图这样的项目。所以我使用了寻呼机适配器来加载数据。我的问题是当我重新加载数据时刷到其他项目,它回到了它已经开始的旧位置。



我想留在我现在正在查看的项目中,所有项目中的数据都必须更新。我如何才能实现这个?



我尝试了什么:



这是我的代码for view pager及其适配器调用:



mScorePAgerAdapter = new ScorePagerAdapter(mContext,mFixturesList);

mScorePager.setAdapter(mScorePAgerAdapter);

int index = getLiveMatchIndex(mFixturesList);

mScorePager.setCurrentItem(index);

mScorePAgerAdapter.notifyDataSetChanged();

// isLiveMatch = checkMatchState(mFixturesList,index);

mScorePager.addOnPageChangeListener(new ViewPager .OnPageChangeListener(){

@Override

public void onPageScrolled(int position,float positionOffset,int positionOffsetPixels){



}



@Override

public void onPageSelected(int position){

setViewPagerIndicator(position, mFixturesList);

}



@Override

public void onPageScrollStateChanged(int state){



}

});

I am using view pager to display set of items like horizantal scroll view.So i have used pager adapter for that to load the data.My problem is when i swipe to other items when data is reloaded,it came back to the old position in which it has started.

I want to stay in the item which i am viewing now also the datas must be updated in all items.How can i achieve this?

What I have tried:

Here is my code for view pager and its adapter calling :

mScorePAgerAdapter = new ScorePagerAdapter(mContext,mFixturesList);
mScorePager.setAdapter(mScorePAgerAdapter);
int index = getLiveMatchIndex(mFixturesList);
mScorePager.setCurrentItem(index);
mScorePAgerAdapter.notifyDataSetChanged();
// isLiveMatch = checkMatchState(mFixturesList,index);
mScorePager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

}

@Override
public void onPageSelected(int position) {
setViewPagerIndicator(position,mFixturesList);
}

@Override
public void onPageScrollStateChanged(int state) {

}
});

推荐答案

参见管理活动生命周期Android开发者 [ ^ ]。当其中一些事件发生时,您需要保存和恢复状态信息。
See Managing the Activity Lifecycle | Android Developers[^]. You need to save and restore state information when some of these events occur.


这篇关于重新加载数据后,如何重新获得视图寻呼机状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆