#android #xml #initialization #oncreate
#Android #xml #инициализация #oncreate
Вопрос:
Только что начал с программирования на Android, и у меня есть задача, в которой я должен заполнить два текстовых поля, а затем нажать кнопку для нового фрейма, чтобы создать еще несколько текстовых полей.
Я решил изменить contentView на 2-й XML-файл, который я создал при нажатии этой кнопки. Однако я не могу использовать виджеты внутри этого 2-го XML-файла, пока не изменю contentview? Я хочу добавить clicklisteners и т. Д., Которые я не могу нажимать на кнопки, которые еще не видны..
Должен ли я использовать другой подход или я просто отсталый?
Комментарии:
1. Создайте другое действие, запустите его с намерением. Это то, что вы пытаетесь сделать?
2. Большое спасибо, приятель, именно то, что я искал! Как я уже сказал, я новичок в этом 🙂
Ответ №1:
Если вы хотите, чтобы все было в одном действии (которое должно представлять один экран), вы можете указать все свои представления в одном XML-файле и установить видимость представлений, которые вы хотите скрыть сначала, на invisible
или gone
. Затем вы можете показать их позже. Поскольку все находится в одном XML-макете, вы можете получить доступ к представлениям, даже если они не видны, но пользователь их не увидит.
Чтобы установить видимость в Java, вы используете view.setVisibility(int visibility)
, где целое View.VISIBLE
число, View.INVISIBLE
или View.GONE
.
Комментарии:
1. Тогда мне нужно вручную изменять логические значения каждый раз, когда я меняю представление? Честно говоря, звучит довольно неубедительно, но я попробую
Ответ №2:
Вы можете рассмотреть возможность использования Fragments API .
Комментарии:
1. Вы можете использовать пакет совместимости. Он предоставляет фрагменты для API 1.6 , вы можете загрузить его в sdk manager, образец проекта также там.