ConstraintSet сбой клона - PullRequest
       23

ConstraintSet сбой клона

0 голосов
/ 05 декабря 2018

Я пытаюсь клонировать ConstraintSet, как:

        ConstraintLayout cl = findViewById(R.id.mainActivityParentCl);
        ConstraintSet constraintSet = new ConstraintSet();
        constraintSet.clone(cl);

Сбой при клонировании (cl),

Caused by: java.lang.RuntimeException: All children of ConstraintLayout must have ids to use ConstraintSet

Не происходит сбой при использовании

implementation 'com.android.support.constraint:constraint-layout:1.0.2'

Сбой 1.1.3:

implementation 'com.android.support.constraint:constraint-layout:1.1.3'

Решение?

1 Ответ

0 голосов
/ 25 декабря 2018

Проблема, с которой вы сталкиваетесь, заключается в том, что из com.android.support.constraint:constraint-layout:1.1.0 необходимо присваивать идентификаторы каждому представлению, как, например, при выполнении части XML с помощью кода Java / Kotlin и особенно при клонировании макетов с использованием ConstraintSetкоторый может быть далее использован для создания динамических представлений, которые могут быть созданы легко;чей идентификатор, если не указан, дает или выдает исключение (во время клонирования наборов ограничений) в качестве вашего, потому что, когда ConstraintLayout перерисовывается (как в случае, когда приложение переходит в фоновый режим и затем возобновляется), это исключениесработал (из-за отсутствия доступности представления, чей идентификатор не указан).И в соответствии с рекомендациями разработчиков Android, вы должны предоставить уникальный идентификатор каждому представлению, чтобы иметь надлежащий доступ к этому представлению.

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

...