【发布时间】:2017-07-17 20:02:41
【问题描述】:
我已经用过了
getChildFragmentManager 和 CustomPager
但是当我移动片段时,我的视图寻呼机总是消失。
这是我的 setupViewPager
private void setupViewPager(ViewPager viewPager) {
MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager());
adapter.addFragment(new PulsaFragment(), "Pulsa");
adapter.addFragment(new TelkomFragment(), "Telkom");
adapter.addFragment(new BPJSFragment(), "BPJS");
adapter.addFragment(new ListrikFragment(), "Listrik");
viewPager.setAdapter(adapter);
}
和我的PagerAdapter
class MyPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
private int mCurrentPosition = -1;
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
super.setPrimaryItem(container, position, object);
if (position != mCurrentPosition) {
Fragment fragment = (Fragment) object;
CustomPager pager = (CustomPager) container;
if (fragment != null && fragment.getView() != null) {
mCurrentPosition = position;
pager.measureCurrentView(fragment.getView());
}
}
}
MyPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
请帮帮我:) 我试过this 但它不起作用..
【问题讨论】:
-
i move the fragment这是什么意思?你是怎么移动它的? -
以上代码运行良好。