Лучший способ обработать несколько экземпляров активности в Android - PullRequest
3 голосов
/ 09 июня 2011

Я хочу создавать динамические формы в своем приложении, количество форм будет определяться во время выполнения (от 1 до n). Чтобы реализовать это, я создаю класс From, который расширяет Activity. Мое приложение может иметь несколько экземпляров этого класса Form и переходить от одного From к другому.

Каков наилучший способ реализации и связи между несколькими экземплярами одного и того же класса (из класса).

Как общаться между двумя формами (используя Intent ..?).

OR

Другой вариант - взять одно действие [как приложение] для всех форм и отобразить каждую форму в одном действии?

Ответы [ 3 ]

1 голос
/ 09 июня 2011

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

Любой способ упростит обмен информацией.Если использовать FrameLayout, то все будет таким же Activity, поэтому проблема становится тривиальной.Если вы используете TabLayout (возможно, лучший выбор), то вы можете сохранить публичный ArrayList в классе TabActivity, что снова сделает обмен довольно простым.

Другие варианты, которые следует учитывать, если вы хотите следовать независимым действиямпуть, являются дополнениями на Intents (например, один дополнительный может быть номер формы, а другой данные для отправки).Затем действия могут обрабатывать эти дополнения внутри блока if / else для сравнения номера формы в дополнении с приватным полем.

Наконец, вы можете хранить данные в экземпляре приложения (всегда есть один единственный экземпляр).) и получить к нему доступ из каждого занятия.

0 голосов
/ 09 июня 2011

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

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

0 голосов
/ 09 июня 2011

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

...