У меня есть проект 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();
}
}