我已经实现了这些代码行,但它无效。
pagerAdapter = new AbstractPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager)findViewById(R.id.pager);
MyFragment frg = (MyFragment)pagerAdapter.getItem(mViewPager.getCurrentItem());
public class AbstractPagerAdapter extends FragmentPagerAdapter {
public AbstractPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return AbstractDetailFragment.newInstance(objlist.get(position),position == notePosition ? true : false);
}
@Override
public int getCount() {
return objlist.size();
}
@Override
public CharSequence getPageTitle(int position) {
return objlist.get(position).getTitle();
}
}
答案 0 :(得分:1)
要获取当前可见的片段实例,请尝试以下
viewPager.setOnPageChangeListener(this);
以及以下方法
@Override
public void onPageSelected(int position) {
if (position == 0)
setFragmentFor(0);
if (position == 1)
setFragmentFor(1);
.
.
.
// Upto how many fragments you've in your ViewPager
}
所以在setFragmentFor()
方法中,您应该编写自己的逻辑来获取新的片段实例,具体取决于通过setFragmentFor()
传递的参数值。