В любом случае, чтобы добавить в стек активности без выполнения StartActivity? - PullRequest
1 голос
/ 21 июля 2011

Я анализирую огромный xml, чтобы отобразить список заголовков в виде списка в действии A. Однако тот же xml также содержит подробности для элемента списка, который должен отображаться в другом представлении (например, в темах / представлении почты списка). сценарий детализации почты).

При событии щелчка в этом списке я не хочу загружать новое действие с пакетом, анализировать тот же xml и показывать подробное представление, пока у меня есть необходимые данные в самом действии A.

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

Как передача намерения A (от самой A) и каким-то образом умудриться добавить это в стек активности.

Извините, если есть повторяющийся вопрос, не могу найти тот, когда я искал.

Кстати, я не хочу делать решение с кэшированием базы данных.

Ответы [ 4 ]

1 голос
/ 21 июля 2011

Я бы использовал второй вид деятельности.Передайте ему дополнительные данные (например, список контактов, сведения о сообщении и т. Д.) И отобразите их.Как вы храните проанализированный XML в памяти, решать вам (статический член? Да! Но он работает).

Теперь вернемся к исходному действию.Много ли меняется ваш исходный XML?Может быть, вы можете проанализировать его и поместить все данные в БД, чтобы вы могли быстрее получать необходимые (и иерархические) данные.Таким образом, вам не нужно иметь дело с хранением большого количества данных в памяти, повторным анализом, и вы можете выполнять поиск быстрее.

1 голос
/ 21 июля 2011

Я бы справился с задним прессом.Просто используйте флаг в вашей деятельности, который говорит вам, в каком виде вы находитесь (поэтому обратно в детальный вид показывает вам обзорный вид).

Другим способом было бы сохранить значения в вашем applicationContext.Намного проще сделать это, чем использовать базу данных.Посмотрите на ответ здесь: Как объявить глобальные переменные в Android?

Но я бы определенно пошел с обработкой обратных нажатий.У меня есть решение, подобное этому, где я использую тот же самый список в макете, и вместо этого я использую разные адаптеры в зависимости от того, в каком детальном представлении находится пользователь.

1 голос
/ 21 июля 2011

Обращение с прессом - самый простой способ.

В противном случае вы также можете передать информацию для просмотра в качестве дополнительного намерения для второго действия.

Другая возможность заключается в том, чтобы локальная служба работала в фоновом режиме и отвечала за загрузку вашего XML и предложениедоступ к его информации удобным способом.

Вы также можете добавить содержимое XML в собственный объект Application.Однако у меня не было такого большого опыта с этим вариантом в некоторых проектах.

0 голосов
/ 21 июля 2011

При событии щелчка в этом списке я не хочу загружать новое действие с пакетом, анализировать тот же xml и показывать подробный просмотр, пока у меня есть необходимые данные в самом действии A.

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

Итак, это не проблема активности, а проблема модели данных. Работайте лучше с вашей моделью данных, и ваши действия будут вести себя естественно.

...