1 VIEwPager
4个片段文件 – FragmentOne.class,FragmentTwo.class,FragmentThree.class,FragmentFour.class
4个XML布局文件 – frag_one.xml,frag_two.xml,frag_three.xml,frag_four.xml
我见过的例子只涉及一个布局文件.
这是VIEwPager所在的FragmentActivity:
public class Main extends FragmentActivity { MyAdapter mAdapter; VIEwPager mPager; @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (VIEwPager) findVIEwByID(R.ID.pager); mPager.setAdapter(mAdapter); } public static class MyAdapter extends FragmentPagerAdapter { public MyAdapter(FragmentManager fm) { super(fm); } @OverrIDe public int getCount() { return 4; } @OverrIDe public Fragment getItem(int position) { return EditorFragment.newInstance(position); } }}
我的主要问题是:如何使用适配器MyAdapter识别四个独立的Fragment文件,并使用VIEwPager顺畅地在其中进行页面分页?我应该对getItem()做什么样的修改?
任何帮助表示赞赏.
编辑:
所以,我尝试了lulumeya提出的建议并想出了这个:
编辑2:是的,那些破坏声明修复了它.它现在有效.感谢所有帮助过的人!现在我有一个很好的隔离,谢谢.
@OverrIDe public Fragment getItem(int position) { Fragment f = new Fragment(); switch (position) { case 0: f = FragmentOne.newInstance(position); break; case 1: f = FragmentTwo.newInstance(position); break; case 2: f = FragmentThree.newInstance(position); break; case 3: f = FragmentFour.newInstance(position); break; } return f; }
应用程序推出,这总是一个好兆头,但仍然停留在布局四.当我向右翻页时,对于所有页面,它也是布局四.我肯定会为每个片段更改inflater中的布局.我仍然会继续努力. @lulumeya – 这是你的意思吗?
解决方法 只需按位置在getItem(int position)中返回正确的Fragment实例. 使用switch~case,很容易. 总结以上是内存溢出为你收集整理的Android ViewPager带有多个Fragment类,每个类都有独立的布局文件全部内容,希望文章能够帮你解决Android ViewPager带有多个Fragment类,每个类都有独立的布局文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)