Добавление ListView в LinearLayout - PullRequest
       0

Добавление ListView в LinearLayout

0 голосов
/ 20 октября 2011

Я определяю XML-макет. Во время выполнения я получаю LinearLayout из XML-файла Layout, я создаю ListView при запуске. Во время выполнения в ListView я добавляю множество RelativeLayouts, как показано на рисунке № 5, этот RelativeLayout содержит другие различныеКомпонент пользовательского интерфейса, такой как TextView, ImageView и т. Д., Работает нормально, но когда пользователь нажимает кнопку «Назад», я сохраняю объект ListView с помощью метода setter в bean-компонентах. Когда пользователь снова начинает активность, я получаю ListView из метода getter и снова добавляю его в свой LinearLayout, когда ядобавить выше, но это дает мне исключение как java.lang.IllegalStateException: указанный дочерний элемент уже имеет родителя.Вы должны сначала вызвать removeView () для родительского объекта ребенка. Перед добавлением ListView после повторного получения я также пытаюсь решить эту проблему MyLinearLayout.removeView (myListView)….,Любое предложение ... enter image description here

1 Ответ

0 голосов
/ 21 октября 2011

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

Лучший способ сделать это:

  • Добавить ListView в макет XML
  • Получите это представление в своем классе Activity с помощью 'findViewById'
  • В вашем методе resume () заполните этот список самостоятельно созданным адаптером и данными из ArrayList или Collection
  • Когда вы набираете новое сообщение для отправки, сохраняйте его в этом ArrayList или Collection и возобновляйте свою деятельность или просто заново заполняйте ListView.

Но, возможно, лучше опубликовать некоторый код, чтобы мы могли лучше вам помочь.

С уважением и удачи!

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