Ошибка при попытке ссылки на виджеты в оригинальном макете после setContentView - PullRequest
0 голосов
/ 29 ноября 2011

Я хотел, чтобы программно поместить просмотр списка в мое приложение для Android. Таким образом, когда пользователь нажимает кнопку, он будет setContentView(listview). Когда пользователь выбирает элемент, он будет setContentView(R.layout.main). Однако когда я пытаюсь сослаться на виджеты макета внутри оригинального макета, R.layout.main, я получаю javaNullPointerException. Может кто-нибудь помочь прояснить этот вопрос для меня?

Я использую onItemClickListener для выбора пользователя.

Ответы [ 2 ]

2 голосов
/ 29 ноября 2011

Не используйте setContentView для обработки выбора, запустите новый Activity с startActivity() или startActivityForResult(). Использование findViewById() работает путем поиска в текущем дереве представления контента (ваш файл layout.xml) виджета с указанным идентификатором. Как только вы установите новое представление контента, оно будет искать любой макет XML, который вы указали для нового представления контента.

1 голос
/ 29 ноября 2011

Не думаю, что имеет смысл, что вы пытаетесь сделать здесь:

setContentView(listview)

просмотр списка должен быть просто частью вашего макета.

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