簡體   English   中英

片段不顯示

[英]Fragment doesnt show up

我正在嘗試制作一個包含兩個片段的活動。第一個有 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 編程的新手,我完全迷失了。 請幫忙!

相對布局沒有 android:orientation 參數

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

使用 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>

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

 <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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM