Android ViewPager w /多个片段类每个w /独立的布局文件
问题描述:
我的应用程序使用android.support.v4.view.ViewPager
类。对于ViewPager中的每个页面,我希望在那里有一个片段,每个都有自己的布局文件。每个片段都在其自己的文件中定义。我很难实现这一点。为了澄清,有:Android ViewPager w /多个片段类每个w /独立的布局文件
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
我见过的例子只处理一个布局文件。
这里是我的FragmentActivity其中ViewPager举行:
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
,认识到四个独立的片段文件并顺利页跨越他们ViewPager?我应该怎样修改getItem()
?
任何帮助表示赞赏。
编辑:
所以,我想建议什么lulumeya以及与此想出了:
编辑2:是的,那些break语句固定它。它现在有效。感谢所有帮助过的人!现在我有一个很好的隔离,谢谢。
@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;
}
该应用程序启动,这总是一个好兆头,但卡在布局四。当我向右页时,它也是布局四,适用于所有页面。我肯定会改变每个片段的充气器布局。我仍将继续努力。 @lulumeya - 这是你的意思吗?
你忘了在你的每个'f = Fragment ...'行之后加上'break'。 – 2012-02-05 03:34:55