3

I use the last SDK to create an app with navigation type Tabs + Swipe and I want to put a PreferenceFragment on one of the tabs.

The generated code is like :

mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);

Meanwhile, I can't add PreferenceFragment on the SectionsPagerAdapter because its method getItem(int position) returns a Fragment, not a FragmentActivity.

I may need some help right here.

BapNesS
  • 183
  • 3
  • 10

2 Answers2

3

The issue is that ViewPager's getItem(..) method returns a support Fragment (i.e. android.support.v4.app.Fragment) rather than android.app.Fragment, which is what PreferenceFragments extend. Basically, a PreferenceFragment uses the non-support version of the APIs and so is incompatible with ViewPagers, and there is no support version of PreferenceFragment available.

Alex Curran
  • 8,818
  • 6
  • 49
  • 55
1

You can upgrade to a v13 pager which supports the android.app.Fragment. I gave a detailed answer on a similar question here.

Community
  • 1
  • 1
PseudoNoise
  • 518
  • 5
  • 10