Нужна помощь на вкладках с действиями с наследованием - PullRequest
0 голосов
/ 09 декабря 2011

Я работаю над проектом Android. В моем приложении у меня есть 3 вкладки. Поскольку используемые мной действия имеют много общего (например, ListView), я использую наследование, как показано ниже: enter image description here

Список a генерируется моим SAXHandler и создает новый список в startDocument ().

У меня есть тестовый набор, в котором список в A_Activity содержит 7 элементов, а B_Activity - 3 элемента. Когда мое приложение запускается, у меня нет проблем, нажимая на все элементы, показанные в A_Activity. После того, как я щелкнул B_Activity и переключился обратно на A_Activity, у меня также не возникло никаких проблем при нажатии на первые 3 элемента; однако, если я нажму на четвертый пункт, я получу

java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3

Если я увеличу количество элементов в B_Activity до 4, я получу то же исключение с заменой 3 на 4. Итак, я уверен, что причина этого в том, что когда я возвращаюсь к A_Activity из B_Activity, список в A_Activity по-прежнему ссылается на B_Activity.

Ваш совет будет высоко оценен. Спасибо!

Ответы [ 2 ]

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

Вкладка начинается с 0. Так что начинайте с 0.

tabhost.setCurrentTab (0);

1 означает-> 0 2 означает-> 1 и т. Д.

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

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

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