Лучшая практика по подключению деятельности - PullRequest
1 голос
/ 19 декабря 2011

Я пишу свое первое приложение для Android и хочу освоить хорошие методы кодирования.У меня есть действие, которое содержит сетку из 2 столбцов всех элементов данных, доступных в приложении (listActivity).Существует Activity для создания нового элемента данных (createActivity), который запускается из listActivity.Теперь, когда createActivity завершает работу, как лучше всего справиться с этой ситуацией в отношении следующего:

  • Если createActivity сохранит новый элемент данных в постоянном хранилище и вернет только идентификаторвновь созданный элемент в listActivity ИЛИ должен ли он возвращать все поля данных элемента как putExtras () returnIntent?
  • Должен ли listActivity «перерисовывать» весь вид данных или просто добавлять вновь созданные данныепредмет динамически?Изменится ли ответ на этот вопрос, если listActivity также должна обрабатывать события удаления и редактирования?Что, если представление списка НЕ ​​является сеткой из 2 столбцов, а является списком из одного столбца?

1 Ответ

0 голосов
/ 19 декабря 2011

Должен ли createActivity сохранять новый элемент данных в постоянном хранилище и возвращать только идентификатор вновь созданного элемента в listActivity ИЛИ должен ли он возвращать все поля данных элемента в виде putExtras () объекта returnIntent?

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

Если listActivity «перекрасит» все представление данных или просто добавит вновь созданный элемент данныхдинамически?

Да, если что-то в базовом наборе данных Adapters изменилось, то, скорее всего, потребуется перекраска (или, по крайней мере, вызов notifyDataSetChanged() на Adapter).Если порядок элементов в списке не имеет значения, вы можете просто добавить элемент в список - но я все же рекомендую сохранить его в хранилище, а затем извлечь его, когда вы хотите добавить его в Adapter.Это также, почему вам нужно будет только передать удостоверение личности.Также для добавления вам понадобится какой-то способ узнать, заполнен ли последний элемент списка одним или двумя столбцами.

Изменится ли ответ на этот вопрос, если listActivity также должна обрабатывать события удаления и редактирования?

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

Что если представление списка НЕ ​​является 2-сетка столбца, но список из одного столбца?

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

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