1

Я использую FragmentStatePagerAdapter, и мне нужно получить текущий фрагмент. Поэтому каждый раз, когда я сажусь на новую страницу, мне нужно получить некоторые данные из этого фрагмента.ViewPager findFragmentByTag return null

Так это то, что я сделал на 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.

Любые предложения, в которых я ошибаюсь?

ответ

-2

Пожалуйста, используйте интерфейс и метод callBack, чтобы решить вашу проблему.

+0

Можете ли вы дать более подробную информацию. – KetanJogani

1

Попробуйте следующее:

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

, который получит объект в массиве, что адаптер имеет ссылку.

Смежные вопросы