Android: 2 разных вида означает 2 разных вида деятельности? - PullRequest
1 голос
/ 13 февраля 2011

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

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

Прежде чем задавать реальный вопрос, обратите внимание, что мой вопрос НЕ в том, как добавить gridView - он уже добавлен и прекрасно работает (при комментировании всех строк Listview).

У меня вопрос - как мне это сделать?

  • 2 разных вида означает, что я должен иметь 2 разных вида деятельности? один расширяет «ListActivity», а другой расширяет «Activity»?

  • Должен ли я создать 4 класса (в данном случае 3 класса действий и функций), где основное действие будет вызывать одно из других действий в соответствии с тем, что выбрал пользователь?

  • Есть ли способ использовать одну и ту же основную активность для обоих видов? (сейчас я расширяю «ListActivity», чтобы получить «getListView ()», который заставляет gridView принудительно закрываться, когда Activity ищет ListView с идентификатором «list»).

  • Любой другой способ?

Спасибо!

1 Ответ

1 голос
/ 13 февраля 2011

Вы можете использовать ListView без использования ListActivity.Я бы порекомендовал этот подход, если остальной код вашей Деятельности будет похож на формы List и Grid.Динамически выбирайте, какой из них показывать, и адаптируйте определения адаптера для обоих, основываясь на параметре или, если необходимо, на операторе, а не на разных действиях.

...