Создание копии представления?

У меня есть 2 действия: A, B.Layout of Activity A, имеет группу просмотра, в которой пользователь меняет ее содержимое. В действии B я должен снова показать эту группу просмотра без каких-либо изменений, она должна быть реальной копией этой группы представлений, поэтому Тексты, цвета, размеры, порядок (для детей) и … должны быть одинаковыми. Поэтому я не могу использовать Layout Inflater Возможно ли это без создания классов типа дочерних элементов этой группы просмотра и изменения свойств? Потому что, если у меня больше Чем 2 Действия с разными группами представлений, очень сложно показать группы просмотра каждого вида деятельности в последнем действии.

Также я не могу удалить эти группы представлений от своих родителей.

Если их содержание будет одинаковым, нет смысла иметь два разных вида деятельности. Вы можете динамически изменять контент одного действия, и поведение будет таким же, как и два действия. Если это действительно необходимо, вам нужно будет сохранить всю необходимую информацию, чтобы снова восстановить активность и передать ее вновь созданному действию. Взгляните на это .

Нет простого способа сделать это. Вы не можете переместить вид между действиями. Таким образом, у вас есть несколько вариантов:

  • Создать растровое изображение viewGroup и показать его в новом действии (не работает, вам нужна редактируемая копия)
  • Сохранить состояние иерархии представления в старой активности и воссоздать ее в новой (использование фрагментов упрощает).
  • Не создавайте новую активность. Просто измените некоторые части пользовательского интерфейса в старой, не касаясь целевой группы ViewGroup.

Создайте класс, содержащий конфигурацию вашей группы просмотра. Пусть этот класс конфигурации содержит всю информацию, связанную с вашей ViewGroup. Он будет содержать тексты, цвета, размеры и порядок, и все, что пользователь изменил. Передайте объект этого класса из Activity A в Activity B и используя это, воспроизведите тот же вид, раздувая один и тот же макет.

Надеюсь, это поможет.

И чтобы ответить на ваш вопрос, нет другого простого способа сделать это.

Для ViewGroup, которая должна быть разделена, реорганизуйте ее в фрагмент с именем C. Затем создайте фрагменты для разделов Activity A и B минус эта общая часть. Затем включите все эти фрагменты в новую активную активность (вам больше не понадобятся действия A и B).

Фрагментом A и C будет новая операция A. Фрагменты B и C будут новой активностью B. Чтобы перейти от первого состояния ко второму, сделайте FragmentTransaction, добавив фрагмент B и удалив фрагмент A. Не забудьте добавить эту транзакцию в Назад, так что кнопка «Назад» вернет вас в первое состояние.

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

Intereting Posts
Маршеллирование почтового отправления Кордова и настройка Android с помощью командной строки Замена фрагмента на другой фрагмент внутри группы действий Как достигнуть ViewPager (следующий / предыдущий) в приложении Music Player Как применять AutomaticGainControl и AcousticEchoCanceler с помощью AudioManager Образец лицензирования Android возвращает код 3. Что это значит? Не удалось подписать Android APK у Jenkins, но работает из командной строки Использование strings.xml w / Android Могу ли я тестировать уведомления о статусных базах с помощью платформы тестирования Android? При использовании datepicker в android 4.0 и выше .., чтобы избежать просмотра календаря Как автоматически изменять имя версии в манифесте во время сборки? Как я могу нарисовать линию внутри прямоугольника формы андроида Совместное использование фейкеров в Android Что такое «пулы распределения для временных объектов»? Отображать изображение из byteArray