Создайте макет с несколькими панелями с помощью FragmentActivity.

Я хотел преобразовать свое приложение в версию, которая поддерживает большие экраны, такие как планшеты. Мое приложение состоит из ListView с настраиваемым ListViewAdapter, и если вы выбираете один из элементов в списке, вы переходите к новому FragmentActivity, который показывает дополнительную информацию о выбранном элементе списка. В FragmentActivity у меня есть пейджер, который содержит 4 разных фрагмента, и вы можете переключаться между этими фрагментами.

Я хочу, чтобы, если пользователь использует планшет, список и FragmentActivity находились рядом друг с другом, а FragmentActivity обновлялась, когда пользователь выбирает разные элементы из списка. Теперь я посмотрел в Интернете, как это работает, и мне нужно использовать фрагменты, но ничего не могу найти о FragmentActivities.

Как заставить его работать с FragmentActivity?


person Mark C.    schedule 01.11.2013    source источник
comment
В качестве отправной точки вы можете создать новый проект в студии eclipse или android и использовать шаблон для макета с несколькими панелями и посмотреть, как это делается.   -  person Mikel    schedule 01.11.2013


Ответы (1)


Как предполагает Марк С, макет с несколькими панелями именно такого типа, как вы хотите, может быть создан, если вы создадите новое приложение для Android и ближе к концу мастера создания нового проекта Android выберете «Основной/подробный поток» в страницу «Создать действие». (Примечание: вам нужно настроить минимальную версию SDK 11 или выше, чтобы выбрать это, но это должно быть в порядке, я думаю, если вы ориентируетесь на планшеты).

В вашем новом проекте вы получите DetailActivity.java — это FragmentActivity, представляющий детальную сторону элемента приложения. Весь контент поступает из класса списка DummyContent, который содержит объекты DummyItem, созданные (посредством статики) в ListFragment onCreate — этот фрагмент представляет представление списка, которое будет отображаться слева на достаточно больших экранах.

В горизонтальной компоновке планшета прикосновение к элементу в списке слева приводит к вызову ListActivity.onItemSelected — при этом создаются фрагменты сведений, отображающие подробное содержимое — содержимое, которое в данный момент находится на вашем пейджере. В макете с одной панелью подробное действие запускается намеренно, что вы также можете увидеть в onItemSelected.

Таким образом, вам нужно будет заменить создание класса DetailFragment в DetailActivity.onCreate и в ListActivity.onItemSelected созданием ваших текущих фрагментов из пейджера. Я предполагаю, что вы можете адаптировать и повторно использовать ListFragment вместо того, чтобы пытаться проникнуть в ваш существующий код ListView и адаптера, в зависимости от того, что у вас там есть, и от того, какие у вас есть другие требования.

person SGill    schedule 04.11.2013