Как общаться между вкладками Android

Я пытаюсь настроить некоторые вкладки для своего приложения для Android, но я застрял.

Я не могу найти способ связи между вкладками.

У меня 2 таб.


|Поиск|Результат|

На вкладке поиска просто отображаются TextEdit и кнопка «Поиск». Нажатие кнопки поиска должно заставить мое приложение перейти на вкладку результатов и отобразить результат.

я добавил вкладки как действия, используя новые намерения, как

TabHost host=getTabHost();  

host.addTab(host.newTabSpec("one")  
   .setIndicator("Search")  
   .setContent(new Intent(this, SearchTabActivity.class)));  
host.addTab(host.newTabSpec("Result")  
   .setIndicator("Android")  
   .setContent(new Intent(this, ResultTabActivity.class)));  

Теперь я не могу найти способ для SearchTabActivity отображать ResultTabActivity и изменять его представление...

Я с нетерпением жду любой подсказки.


person Vidar Vestnes    schedule 06.07.2009    source источник
comment
Я рекомендую использовать SearchManager: developer.android.com/reference/android/app/ SearchManager.html   -  person Isaac Waller    schedule 06.07.2009
comment
Я рекомендую не использовать действия в качестве содержимого вкладок.   -  person CommonsWare    schedule 07.07.2009


Ответы (1)


Вы определенно хотите пересмотреть использование действий в качестве содержимого вкладок. Более стандартный подход — использовать одно действие, которое использует вкладки, чтобы отображать только часть макета, когда выбрана конкретная вкладка.

В документации Android есть отличный рабочий пример, посмотрите Здравствуйте, TabWidget .

Альтернативный

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

Расширяя класс Application (и реализуя его как Singleton), вы получаете объект, который будет существовать всякий раз, когда существует любой из компонентов вашего приложения, предоставляя централизованное место для хранения и передачи данных сложных объектов между компонентами приложения.

person Reto Meier    schedule 07.07.2009
comment
Это все еще так? Что вы должны определенно пересмотреть использование действий в качестве содержимого вкладок.? Приложение, с которым я работаю, имеет четыре вкладки, 2 списка, 1 вид карты и 1 прокрутку информации... - person Okku; 31.05.2011
comment
Да, вы можете использовать фрагменты списка и размещать прокрутки внутри другого фрагмента. Вид карты может быть немного сложнее, я не использовал их раньше, но это ответ должен помочь. - person Carlo Chum; 16.06.2014