1
我有一個部分是我的類,它用於處理爲FragmentPagerAdapter加載哪些片段。現在它加載碎片就好了,但現在我想實現一個FragmentActivity,我有一個問題,如何創建它,因爲我不能使用「newinstance」,因爲它的Activity類型,並且在它之上,我不知道如何調用FragmentActivity與通過「newinstance」方法加載Fragment不同。我的第二個選項卡是我想要擴展到FragmentActivity的那個選項卡。如何在FragmentPagerAdapter中實現FragmentActivity?
public class SectionsPagerAdapter extends FragmentPagerAdapter {
private Context _context;
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
_context= getApplicationContext();
}
@Override
public Fragment getItem(int i) {
Fragment f = new Fragment();
switch(i){
case 0:
f=News.newInstance(_context);
break;
case 1:
f=Info.newInstance(_context);
break;
case 2:
f=Files.newInstance(_context);
break;
case 3:
f=Donate.newInstance(_context);
break;
}
/*
Fragment fragment = new DummySectionFragment();
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);
*/
return f;
}
@Override
public int getCount() {
return 4;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0: return getString(R.string.title_section1).toUpperCase();
case 1: return getString(R.string.title_section2).toUpperCase();
case 2: return getString(R.string.title_section3).toUpperCase();
case 3: return getString(R.string.title_section4).toUpperCase();
}
return null;
}
}
我的猜測是,我不能使用的GetItem方法爲只切換片段,並且我將不得不使用這樣的:
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_content, new BasicFragment());
ft.commit();
有人可以幫我指出了正確的方向?
我同意,我認爲你需要將你的FragmentActivity轉換成片段。 – conor
但活動必須是FragmentActivity,因爲需要設置的東西只有在您將其擴展到FragmentActivity – user1811306
@ user1811306時纔有可能:您不能將活動放入「ViewPager」中。 *包含* ViewPager的活動可以是'FragmentActivity',如果'ViewPager'包含片段,則需要成爲'FragmentActivity'。 – CommonsWare