Как создать несколько экземпляров действия? - вновь

1

Я хочу запускать несколько экземпляров одного и того же (ExpandbleList-)activity с использованием разных параметров, поэтому в списки загружаются разные данные. Эти списки находятся на разных вкладках TabActivity.

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

Как я могу начать действия, чтобы они не мешали друг другу данных?

  • 0
    PS Возможно, я мог бы каждый раз проверять, какой массив с содержимым списка используется, какой параметр был задан при запуске, но это не лучший способ.
Теги:
expandablelistview
android-activity
multiple-instances
tabactivity

2 ответа

3
Лучший ответ

По умолчанию каждое действие будет новым экземпляром. Вы случайно установили "одиночный верх" в манифесте для этого действия? Вы настроили статические (так, общие) члены в Activity, которые не должны быть статическими? Как вы создаете экземпляр "различной" индивидуальности деятельности; путем предоставления дополнений к намерению?

  • 0
    Таким образом, я не установил единую вершину в манифесте, но у меня были некоторые статические члены в моей деятельности (включая массив с элементами списка и код запроса, используемый для получения данных в другой деятельности). Я изменил их сейчас, чтобы они больше не были статичными, и мой ExpandableListViewAdapter теперь получает свою собственную копию массива. Также я позаботился о том, чтобы код запроса отличался для каждого типа использования (чтобы они случайно не получали результаты друг друга). И теперь это работает! Так что спасибо большое! PS Да, я использовал дополнения в намерении, чтобы создать различные "личности".
0

Активность не будет новым экземпляром, поэтому у них есть методы возобновления и паузы. Я пытался запустить новый Intent из службы, которая была запущена широковещательным приемником. Совершенно другой поток, чем поток Main/UI. Работала отлично, если только это не было выполнено пользователем, тогда я получил следующую ошибку для попытки создания нового намерения даже с флагом Intent.FLAG_ACTIVITY_NEW_TASK. android.view.ViewRoot $CalledFromWrongThreadException: только исходный поток, создавший представление heirarchy, может коснуться его представлений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню