gpt4 book ai didi

android - 约束集克隆崩溃

转载 作者:行者123 更新时间:2023-11-29 23:25:36 25 4
gpt4 key购买 nike

我正在尝试像这样克隆 ConstraintSet:

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

它在 clone(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'

解决方案?

最佳答案

您面临的问题是因为从 com.android.support.constraint:constraint-layout:1.1.0 开始,有必要为每个 View 提供 id,因为在执行 XML 部分时通过 Java/Kotlin 代码处理事物,特别是使用 ConstraintSet 克隆布局时,可以进一步用于创建动态 View ,这可以很容易地创建;如果未给出其 id,则会给出或抛出异常(在克隆 constraintSet 时),因为当重绘 ConstraintLayout 时(例如,当 App 进入后台然后resumed) 触发此异常(由于缺少未提供 id 的 View 的可访问性)。并且根据 Android 开发者指南,您必须为每个 View 提供一个唯一的 ID,以便正确访问该 View 。

希望对你有帮助。

关于android - 约束集克隆崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53628062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com