1

我正在使用 FragmentStatePagerAdapter,我需要获取当前片段。所以每次我滑动到一个新页面时,我都需要从那个片段中获取一些数据。

这就是我在 pageChange 上所做的:

  mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

                   @Override
                   public void onPageSelected(int arg0) {
                           Log.v("vp id",String.valueOf(mViewPager.getId()));
                           ArticleSwipableObjectFragment fragment = 
                                     (ArticleSwipableObjectFragment) getFragmentManager().findFragmentByTag(
                                                  "android:switcher:"+R.id.pager+":"+mViewPager.getCurrentItem());
                                 if(fragment != null)  // could be null if not instantiated yet
                                 {
                                    if(fragment.getView() != null) 
                                    {
                                       String shareUrl = fragment.getShareUrl(); 
                                       android.util.Log.v("share url",shareUrl);
                                    }
                                 }        
                   }

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

                   }

                   @Override
                   public void onPageScrollStateChanged(int arg0) {

                   }
           });

虽然我收到fragment as null.

有什么建议我哪里出错了吗?

4

2 回答 2

1

尝试以下操作:

(<yourFragmentType>)pageradapter.getItem(myViewPager.getCurrentItem());

这将获取适配器引用的数组中的对象。

于 2013-08-13T08:48:41.293 回答
-3

请使用接口和回调方法然后解决您的问题。

于 2013-08-13T05:38:06.823 回答