Error shows in this line: mPageAdapter = new PageAdapter(this.getSupportFragmentManager(), fragments); and Errors are : change to getFragmentManager() or create method getSupportFragmentManager() But I have done both but not working. so please anybody help me. what need to change.
//ProjectOverview class
public class ProjectOverview extends Activity {
private PageAdapter mPageAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpages_layout);
initialingpaging();
}
private void initialingpaging() {
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));
fragments.add(Fragment.instantiate(this, Fragment3.class.getName()));
mPageAdapter = new PageAdapter(this.getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager)findViewById(R.id.viewpager);
pager.setAdapter(mPageAdapter);
}
}
// PageAdapter class
public final class PageAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public PageAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
// TODO Auto-generated constructor stub
this.fragments = fragments;
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return this.fragments.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return this.fragments.size();
}
}
//viewpages_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+android:id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
//Fragment1.class
public class Fragment1 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
// TODO Auto-generated method stub
if(container == null)
{
return null;
}
return (LinearLayout) inflater.inflate(R.layout.fragment1_layout,container,false);
}
}
//same code for Fragment2.class and Fragment3.class
If you would like to use getSupportFragmentManager extend your ProjectOverview with FragmentActivity. It will work, it is an issue with support library and yours fragments should be imported from support library. Added (checked): Your activity should extends FragmentActivity
so you can use getSupportFragmentManager()
(on older device) if you are targeting only newer device use (extend Activity): getFragmentManager()
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.