我正在開發一個Android應用程序,其中我的MainActivity中有一個ViewPager,由3個片段組成。 問題如下,當我滑動到第三個片段,並返回到第一個,片段1的onCreateView被調用,這是我真正想要的,但是,如果我只是甩到第二個片段,並返回到第一個,onCreateView不叫! 我需要找到解決這個問題的辦法,我花了幾個小時試圖找到一個解決方案,但不知道解決它。 下面是我的MainActivity相關ViewPager代碼使用ViewPager時不會調用CreateView上的片段使用ViewPager
private void setupViewPager(final ViewPager viewPager) {
final ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new voting(), "ONE");
adapter.addFrag(new dashboard(), "TWO");
adapter.addFrag(new chats(), "THREE");
myAdapter=adapter;
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(0);
}
private class ViewPagerAdapter extends FragmentStatePagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<Fragment>();
private final List<String> mFragmentTitleList = new ArrayList<String>();
private ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
Log.i("getItem","getItem");
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
private void addFrag(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
//added newly
@Override
public int getItemPosition(Object object){
return PagerAdapter.POSITION_NONE;
}
@Override
public CharSequence getPageTitle(int position) {
return null;
}
}
「如果我只轉到第二個片段並返回到第一個片段,onCreateView不會被調用」 - 如果您的意思是onCreateView()沒有在第一個片段上再次調用,那是非常正常的。 「我需要找到解決這個問題的辦法」 - 你爲什麼認爲這是一個問題? – CommonsWare
@CommonsWare是的,這就是我的意思,但沒有找到解決方案 –