2015-05-04 33 views
0

我正在使用视图寻呼机。在这个视图寻呼机我有3页。当我运行应用程序。查看寻呼机创建左侧中心和右侧片段实例,并调用所有生命周期方法。我的问题是,当我选择中间页面时,我需要显示一些数据。但我无法获得任何回调方法。请帮帮我。提前致谢。如何在Android中刷新ViewPager的中间页面的数据

适配器

public class ViewPagerFragmentPageAdapter extends FragmentPagerAdapter { 

     Context mContext; 
     public ViewPagerFragmentPageAdapter(Context context, FragmentManager fm) { 
      super(fm); 
      mContext = context; 
     } 

     @Override 
     public Fragment getItem(int position) { 
      switch (position) { 
      case 0: 
       return BusinessCategoryFragment.getInstance(); 
      case 1: 
       return FavoriteFragment.getInstance(mContext.getResources().getString(R.string.favorite)); 
      case 2: 
       return RecentFragment.getInstance(mContext.getResources().getString(R.string.recent)); 
      default: 
       return BusinessCategoryFragment.getInstance(); 
      } 
     } 

     @Override 
     public int getCount() { 
      return 3; 
     } 

    } 

    mViewPager = (ViewPager) findViewById(R.id.pager); 
     mViewFragmentPageAdapter = new ViewPagerFragmentPageAdapter(
       HomeActivity.this, getSupportFragmentManager()); 
     mViewPager.setAdapter(mViewFragmentPageAdapter); 
+0

http://stackoverflow.com/questions/12650810/how-to-know-which-fragment-is-currently-selected-in-a-viewpager – dhke

+0

中间页的可能的复制是'Fragment'本身与其他'片段'分离。所以如果你想刷新这个片段,不管你对这个片段做什么,只有那个fragmetn会受到影响 – hrskrs

回答

0

您可以使用onPageChangelistener和处理数据在听者的overrided方法刷新代码。

vPager.setOnPageChangeListener(new OnPageChangeListener() { 
    @Override 
    public void onPageSelected(int position) { 
     // here u can add necessary code for refreshing data 
    } 

    @Override 
    public void onPageScrolled(int arg0, float arg1, int arg2) {} 

    @Override 
    public void onPageScrollStateChanged(int arg0) {} 
});