Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Jaroslav Vankat
12,054 PointsError: Incompatible types in getItem() method in SectionsPagerActivity class
Hi,
just having a trouble with incompatible types in getItem() (return value) method in SectionsPagerAdapter class.
The error is following:
Incompatible types.
Required: android.support.v4.app.Fragment
Found: cz.jvankat.ribbit.MainActivity.PlaceholderFragment
SectionsPagerActivity.java:
package cz.jvankat.ribbit;
/**
* Created by Jarisak on 9. 10. 2014.
*/
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.content.Context;
import java.util.Locale;
/**
* A {@link android.support.v13.app.FragmentPagerAdapter} that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
protected Context mContext;
public SectionsPagerAdapter(Context context, FragmentManager fm) {
super(fm);
mContext = context;
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class below).
return MainActivity.PlaceholderFragment.newInstance(position+1);
}
@Override
public int getCount() {
// Show 3 total pages.
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return mContext.getString(R.string.title_section1).toUpperCase(l);
case 1:
return mContext.getString(R.string.title_section2).toUpperCase(l);
case 2:
return mContext.getString(R.string.title_section3).toUpperCase(l);
}
return null;
}
}
If needed I can past the PlaceholderFragment from the MainActivity but it's just what was automatically generated.
Thanks for your help.
1 Answer

Gloria Dwomoh
13,104 PointsTry changing return MainActivity.PlaceholderFragment.newInstance(position+1); to
return PlaceholderFragment.newInstance(position+1); If that doesn't help, let us know.
Jaroslav Vankat
12,054 PointsJaroslav Vankat
12,054 PointsThis was actually the line before I've edited it (it couldn't resolve the symbol), so I added the MainActivity in front of this.
Gloria Dwomoh
13,104 PointsGloria Dwomoh
13,104 PointsAll right. You can try checking out this thread and see if it helps.
Jaroslav Vankat
12,054 PointsJaroslav Vankat
12,054 PointsIt works, you've saved my day, thanks :)
Gloria Dwomoh
13,104 PointsGloria Dwomoh
13,104 PointsAwesome! I'm glad. Keep it up.