我必须快速解决这个问题,因为在两个小时内我必须将我的项目发送给我的教授。
我有一个fragmentviewpager,片段内有5个片段。 在每个片段中,我都有一个表,它使用json文件和页面位置底部的一些数据进行更新。
我在片段容器中使用此函数获取页面位置,并将其放在static int currentPage:
中mPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0)
{
currentPage=arg0;
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2)
{
}
@Override
public void onPageScrollStateChanged(int arg0)
{
}
});
在fragmentviewpager中的每个片段的onResume内部,我使用currentPage变量获取当前位置。
但是为了做正确的工作,我需要每次当我用滑动更改页面时都可以执行onResume。 我该怎么办?
这是我的fragmentviewpager:
private class ScreenSlidePagerAdapter extends FragmentPagerAdapter
{
// fragments to instantiate in the viewpager
private List<Fragment> fragments;
public ScreenSlidePagerAdapter(FragmentManager fm, List<Fragment> fragments)
{
super(fm);
this.fragments = fragments;
}
public void addPage(Fragment page)
{
fragments.add(page);
this.notifyDataSetChanged();
}
@Override
public Fragment getItem(int position)
{
return this.fragments.get(position);
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public int getCount()
{
return fragments.size();
}
}
如何解决我的问题? 提前谢谢你:)
答案 0 :(得分:0)
onResume
不会在viewpager中一直被调用,你可以在片段中创建一个公共方法,你可以根据位置调用它
此链接将全部使用给您
Getting the current Fragment instance in the viewpager