В Android, как я могу создавать различные фрагменты / стеки действий в каждой вкладке, которые сохраняются при изменениях вкладок? - PullRequest
4 голосов
/ 16 февраля 2012
 TAB1          TAB2      TAB3
   |            |          |
 FragmentA     FragmentC  FragmentE
   |             |         |
FragmentB     FragmentD  FragmentF

Я хочу, чтобы мой пользовательский интерфейс был выложен так, как показано выше. Я прочитал о том, как работают фрагменты, и похоже, что я должен быть в состоянии реализовать пользовательский интерфейс, который позволяет мне переключаться между вкладками, так что каждая вкладка имеет фрагмент, и выбор чего-либо на фрагменте приведет к отображению другого фрагмента. *

Теперь проблема: Я не вижу, как я могу поддерживать разные стеки фрагментов в каждой вкладке. То, что я хочу, чтобы иметь возможность перейти от фрагмента D к FragmentC при использовании кнопки назад в Tab2. Переключение на Tab1 должно показать мне FragmentB и позволить мне перейти к FragmentA, используя кнопку BACK. Есть ли способ иметь несколько стеков фрагментов, как я описал?

Ответы [ 5 ]

1 голос
/ 16 февраля 2012

Использование Android ViewPager с фрагментом проверить это

http://developer.android.com/resources/samples/Support4Demos/src/com/example/android/supportv4/app/FragmentPagerSupport.html

1 голос
/ 16 февраля 2012

Шаблон должен быть таким:

   TAB1          TAB2         TAB3
    |             |            |
 Activity 1    Activity 2  Activity 3
    |             |            |
 FragmentA     FragmentC   FragmentE
    |             |            |
 FragmentB     FragmentD   FragmentF

Вы не можете делать (насколько мне известно) то, что вы пытаетесь сделать с текущими API.Смотрите здесь для более подробной информации.

0 голосов
/ 01 марта 2012

Почему бы вам не позвонить:

fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

При каждом нажатии на вкладку?

0 голосов
/ 16 февраля 2012

Я предполагаю, что это возможно, если вы просто избегаете использовать backstack и ссылаетесь на свои фрагменты по тегам. Например, если вы присвоите фрагменту C тег «фрагментC», то, если фрагментD виден, вы можете создать FragmentTransaction, который заменит фрагментD на фрагмент C. Задний стек кажется более ценным, когда ваши переходы имеют такое же значение, как вы здесь.

0 голосов
/ 16 февраля 2012

Внутри вашего SDK есть примеры API demos ... там вы найдете пример кода ..., чтобы импортировать его, перейдите в проект.создайте новый из существующего исходного кода и перейдите в / androisdkdirectory / samples / android-x / Apidemos, а затем завершите

, вы найдете файл Java и просмотр различных типов вкладок, которые будут очень полезны. lузнать новые представления, которые вы можете использовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...