2014-03-29 111 views
0

我是Android开发新手。我有一个活动,利用FragmentPagerAdapter来创建标签。一切工作正常,除了我希望每个选项卡有自己的唯一fragment.xml文件,现在所有选项卡显示相同的片段(fragment_home.xml)。Android - 每个标签的片段

我有一个怀疑的问题在于这样的代码:

public View onCreateView(LayoutInflater inflater, 
         ViewGroup container, 
         Bundle savedInstanceState) 
{ 
     View rootView = inflater.inflate(R.layout.fragment_home, container, false); 

     TextView textView = (TextView) rootView 
      .findViewById(R.id.section_label); 
     textView.setText(Integer.toString(getArguments() 
      .getInt(ARG_SECTION_NUMBER))); 

     return rootView; 
} 

EDIT 1

我已经加入另一片段类来表示另一片段。它有自己的OnCreateView()方法,它可以扩展名为fragment_overview.xml的XML文件并且工作正常。

现在我仍然坚持我希望这两个片段出现在不同的选项卡中的问题。

下面的代码在其getItem()方法中创建了一个OverViewFragment的实例。只有一个片段被返回,所以我如何使它成为多个片段?

public class SectionsPagerAdapter extends FragmentPagerAdapter { 

    public SectionsPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @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 OverviewFragment.newInstance(position + 1); 
    } 

    @Override 
    public int getCount() { 
     // Show 3 total pages. 
     return 5; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     Locale l = Locale.getDefault(); 
     switch (position) { 
     case 0: 
      return getString(R.string.tab1).toUpperCase(l); 
     case 1: 
      return getString(R.string.tab2).toUpperCase(l); 
     } 
     return null; 
    } 
} 
+0

好吧,如果他们都具有相同的功能,他们都在膨胀fragment_home。更改每个片段以扩充您希望它们解析的xml。 –

+0

请原谅我的无知,我明白你的意思,但我不确定如何去实施它。 –

+0

R.layout.fragment_home将其更改为您要使用的xml文件的标识。 –

回答

1

嗨,你必须为每个标签创建seprate片段,并与你的标签位置链接。你可以参考下面的知识库来了解如何做到这一点。 FragmentPageAdapter With Tabs

+0

请看看我的编辑 –

+0

你必须把“休息”每个案件结束时的陈述。例如0:...中断;案例1:...中断; –

+0

完美!我怎么会这么愚蠢! –