1

我想做一個活動包含兩個片段。第一個有3個嵌套的片段,我將用作標籤,第二個只包含按鈕。我不想將按鈕片段添加到其他部分,因爲我不想它重新加載。現在我沒有任何錯誤,但我的按鈕片段不顯示。這是我的片段和我的活動。片段沒有顯示

我的主要活動:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 

    setContentView(R.layout.activity_main); 

    Fragment statistics = new StatisticsFragment(); 
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
    transaction.add(R.id.fragment_statistics, statistics).commit(); 

    Fragment buttons = new MainPageButtonsFragment(); 
    FragmentTransaction buttonsTransaction = getSupportFragmentManager().beginTransaction(); 
    buttonsTransaction.add(R.id.main_page_buttons_fragment,buttons).commit(); 

他的佈局

<RelativeLayout android:orientation="vertical" > 
<FrameLayout 
    android:id="@+id/fragment_statistics" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

<FrameLayout 
    android:id="@+id/main_page_buttons_fragment" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/fragment_statistics"/> 

我不會寫我的按鈕片段,因爲它是沒有必要的我只會說其根標籤是FrameLayout

我的統計數據片段(帶有標籤)

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    Fragment currentDayFragment = new CurrentDayFragment(); 
    FragmentTransaction transaction1 = getChildFragmentManager().beginTransaction(); 
    transaction1.add(R.id.current_day_fragment, currentDayFragment).commit(); 

    Fragment configurationInfoFragment = new ConfigurationInfoFragment(); 
    FragmentTransaction transaction2 = getChildFragmentManager().beginTransaction(); 
    transaction2.add(R.id.configuration_info_fragment, configurationInfoFragment).commit(); 

    Fragment expensesInfoFragment = new ExpensesInfoFragment(); 
    FragmentTransaction transaction3 = getChildFragmentManager().beginTransaction(); 
    transaction3.add(R.id.expenses_info_fragment, expensesInfoFragment).commit(); 

    LayoutInflater lf = getActivity().getLayoutInflater(); 

    View statisticsView = lf.inflate(R.layout.fragment_statistics, container, false); 

    return statisticsView; 
} 

他的佈局:

<FrameLayout > 

<android.support.v4.view.ViewPager 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <FrameLayout 
     android:id="@id/current_day_fragment" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 
    <FrameLayout 
     android:id="@id/configuration_info_fragment" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 
    <FrameLayout 
     android:id="@id/expenses_info_fragment" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

</android.support.v4.view.ViewPager> 

嵌套的片段只是有根標籤FrameLayout和幾個TextView,它出現。結果只是一個有3個選項卡和沒有按鈕片段的活動。 我是新來的android編程,我完全迷失在這。請幫助!

回答

0

嘗試使用給予這樣的自定義高度... 。

<RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     > 

     <FrameLayout 
      android:id="@+id/fragment_statistics" 
      android:layout_width="fill_parent" 
      android:layout_height="250dp" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <FrameLayout 
      android:id="@+id/main_page_buttons_fragment" 
      android:layout_width="fill_parent" 
      android:layout_height="250dp" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentBottom="true" /> 
    </RelativeLayout> 
+0

它現在好了!你是男人! – Angel

0

相對佈局不具備的android:定向PARAM

我的事情第一個片段覆蓋第二個

變化相對佈局LinearLayout中

<LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
    <FrameLayout 
     android:id="@+id/fragment_statistics" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" /> 

    <FrameLayout 
     android:id="@+id/main_page_buttons_fragment" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/fragment_statistics"/> 
</LinearLayout> 
+0

謝謝@Settarxan但那不是問題。我用LinearLayout嘗試過,結果是一樣的。 LinearLayout不支持layout_below選項 – Angel

+0

現在你的第一個活動是可見的,但第二個不是的? 你想同時在第一個旁邊顯示第二個片段嗎? –

+0

是的,我希望這兩個片段能夠同時顯示,但不能彼此挨在一起。我希望第二個在第一個以下。第一個片段包含3個標籤,我也將它們實現爲片段。 – Angel