我的应用程序使用了 android.support.v4.view.ViewPager
类。在ViewPager每一页,我想在那里为一个片段,每个都有自己的布局文件。每个片段在其自己的文件中定义。我有一个很难实现这一点。为了澄清,有:
My app uses the android.support.v4.view.ViewPager
class. For each page in the ViewPager, I want there to be one Fragment, each with its own layout file. Each Fragment is defined in its own file. I am having a hard time implementing this. To clarify, there is:
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
1 ViewPager 4 Fragment Files - FragmentOne.class, FragmentTwo.class, FragmentThree.class, FragmentFour.class 4 XML Layout Files - frag_one.xml, frag_two.xml, frag_three.xml, frag_four.xml
这是我只看到这些例子涉及一个布局文件。
The examples that I have seen only deal with one layout file.
下面是我FragmentActivity其中ViewPager举行:
Here is my FragmentActivity where the ViewPager is held:
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()
?
My main question is: How do I get the adapter, MyAdapter
, to recognize the four separate Fragment files and smoothly page across them with ViewPager? What kind of modifications should I make to getItem()
?
任何帮助是AP preciated。
Any help is appreciated.
编辑:
所以,我试了一下lulumeya建议,并提出了这一点:
So, I tried what lulumeya suggested and came up with this:
编辑2:是的,那些break语句固定它。它的工作原理吧。感谢大家谁帮助!现在我有一个很好的隔离,谢谢。
EDIT 2: Yes, those break statements fixed it. It works now. Thanks to everyone who helped! Now I have a nice segregation, thanks.
@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;
}
该应用程序lauches,这始终是一个好兆头,但卡在布局四人。当我页,这也是布局四,对所有页面的权利。我一定要改变布局充气的每个片段。我仍然会在这方面努力。 @lulumeya - 这是你的意思
The app lauches, which is always a good sign, but is stuck on layout four. When I page to the right it is also layout four, for all pages. I was sure to change the layout in the inflater for each Fragment. I am still going to work on this. @lulumeya - Is this what you meant?
刚刚在的getItem(INT位置)位置返回正确的片段实例。 用开关〜情况下,这很容易。
Just return proper Fragment instance in getItem(int position) by position. use switch~case, It's easy.
上一篇:在垂直方向上的android文本视图的文本文本、视图、android
下一篇:"冰淇淋三明治"和WRITE_APN_SETTINGS明治、冰淇淋、QUOT、WRITE_APN_SETTINGS