Intereting Posts
Настройка предпочтения пользовательского интерфейса. Сводное поле для значения предпочтения. Java.util.zip.ZipException: дублирующаяся запись: android / support / v7 / graphics / drawable / DrawableUtils.class Кнопка панели действий не отображается в searchview android Разберите JSON в дружественный вывод ListView Какие шрифты установлены по умолчанию на Android? Как я могу связать свой Android-телефон с единством для тестирования игр? Динамическое обновление заголовка FragmentPagerAdapter Лучший способ периодически выполнять действие – Обработчик? Как я могу начать новую активность Android с помощью строки? Получить позицию ViewPager после поворота на Android Средства анализа памяти / производительности для Android Количество ссылок метода в файле .dex превышает 64K Async / ждет плохой практики под Android? Где разместить XML-файл, содержащий данные в приложении для Android ZXing Android генерирует штрих-код 1D

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

У меня есть 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), и когда пользователь переходит к другому представлению, просто отправьте его Параметры для второго фрагмента. Таким образом, вы эмулируете пользователя, что это два действия, но на самом деле это всего лишь два фрагмента, контролируемых одним действием.