我正在使用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
。
我出错的任何建议?
答案 0 :(得分:1)
尝试以下方法:
(<yourFragmentType>)pageradapter.getItem(myViewPager.getCurrentItem());
将获取适配器具有引用的Array中的对象。
答案 1 :(得分:-2)
请使用Interface和callBack方法然后解决您的问题。