Расширение linearLayout, имеющее несколько состояний (разных элементов управления), определенных в XML

У меня есть собственный макет с некоторыми элементами управления, написанными в файле макета XML. класс привязан к этому макету, как

<com.project.layout ...>
  <Checkbox...1
  <TextView...2
  <Button ...3
  <ImageView..4 ...
../>

в зависимости от взаимодействия с пользователем, я хотел бы отобразить только 3 из определенных элементов управления, как 1,2,3. Одним щелчком пользователя я хотел бы получить 1,2,4. Для этого я разработал несколько классов состояний, которые обрабатывают removeView и addView.

У меня есть некоторые проблемы по этому поводу: 1/ Когда я могу быть уверен, что все создано, и я могу взаимодействовать с пользовательским интерфейсом (onLayout() и onMeasure(), кажется, происходят каждый раз, когда обрабатывается элемент управления) 2/ кажется, что, так как я определил макет с 4-мя элементами управления, даже если я пишу removeView, пространство, используемое удаленным элементом управления, не используется другими элементами управления... есть ли способ попросить макет изменить порядок отображения?

1 ответ

Я обнаружил, что оказалось, что на самом деле это было легко, есть метод, который я должен переопределить, который называется onFinishInflate(),

Другие вопросы по тегам