隐藏子片段中的片段选项卡主机选项卡

时间:2019-06-05 17:54:31

标签: android-layout android-fragments android-tabhost fragmentmanager fragment-tab-host

我有一个使用导航抽屉的android项目。在其中,我有一个片段称为“议程”。该片段是片段tabhost(请参见下面的布局和下面的类)。在此片段标签托管中,我有三个标签(“星期五”,“星期六”和“星期日”)。

我只有一个片段,其中包含会话的列表视图,我可以使用这些列表填充具有不同数据的“星期五”,“星期六”和“星期日”选项卡-取决于所选的选项卡。

在单击列表视图项目时,我要导航到所选项目的详细信息页面(会话详细信息)。

我的问题:

我能够传递正确的参数来填充会话详细信息。但是,在导航到会话详细信息页面时,我仍然在屏幕顶部看到选项卡。因此,当我点击其中一个标签时---星期六(在会话详细信息中),星期六列表视图填充在我当前所在的当前会话详细信息页面上。

我期望的是

理想情况下,我想要的是导航到会话详细信息时,我想完全导航出选项卡宿主(我不想看到会话详细信息页面顶部的选项卡)。我希望能够在会话详细信息上添加“后退”按钮,而不是显示这些选项卡,因此单击“后退”后,我将导航回显示“日”选项卡的议程页面。

我的议程主机布局

<FrameLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/agendahost"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<TabHost
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/agenda_tabHost"
    android:layout_gravity="center_horizontal">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
        </TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:id="@+id/friday"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="horizontal">

            </LinearLayout>

            <LinearLayout
                android:id="@+id/saturday"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="horizontal">

            </LinearLayout>

            <LinearLayout
                android:id="@+id/sunday"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="horizontal">

            </LinearLayout>

        </FrameLayout>
    </LinearLayout>
</TabHost>
</FrameLayout>

议程主机片段-创建视图

    final Bundle args = new Bundle();

    {

        agendaTabHost = new FragmentTabHost(getActivity());
        agendaTabHost.setup(getActivity(), 
getChildFragmentManager(), R.id.fragment_container);

        //CODE ADDING TABS FOR EACH DAY




        return agendaTabHost;
    }

议程片段-我用于填充每个标签的片段,具体取决于 在选定的标签上。下面是我的列表视图点击代码

    listView.setOnItemClickListener(new 
    AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, 
    int position, long id) {

            SessionDetailsFragment sessiondetFrag = new 
    SessionDetailsFragment();


            Bundle args = new Bundle();



            // CODE TO PASS SESSION ARGUMENTS DEPENDING ON ITEM CLICK ON LISTVIEW  

getFragmentManager(). 
beginTransaction().replace(R.id.fragment_container, 
sessiondetFrag).addToBackStack(null).commit();



        }
    }

0 个答案:

没有答案