2014-03-29 49 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

完美!我怎麼會這麼愚蠢! –