android - 约束布局布局崩溃:约束布局的所有子项都应具有使用约束集的 ID
问题描述
更新到之后com.android.support.constraint:constraint-layout:1.1.0
约束布局崩溃说:
约束布局的所有孩子都应该有 id 来使用约束集
我已经为所有视图设置了 ID,即使它崩溃了。
java.lang.RuntimeException: All children of ConstraintLayout must have ids to use ConstraintSet at android.support.constraint.ConstraintSet.clone(ConstraintSet.java:687) at com.zoho.notebook.views.SettingsViewNavBar.showNoteSettingsView(SettingsViewNavBar.java:594) at com.zoho.notebook.views.SettingsViewNavBar.onClick(SettingsViewNavBar.java:303)
解决方案
我的代码中有同样的错误。我有 xml 中所有视图的 ID,但我手动将视图添加到约束布局(工具提示视图)
constraintParent.addView(childView)
如果重新绘制约束布局(应用程序转到 bg 并恢复),动态添加的视图仍在父级上,但此异常已被触发。
我通过为这样的动态视图生成视图ID来修复它
CustomViewChildView childView = new CustomViewChildView()
childView.setId(View.generateViewId());
然后将其添加到约束布局。
推荐阅读
- javascript - Javascript倒数计时器不会使用 clearInterval() 暂停
- python-3.x - Python 3 使用 map 解包元组
- c# - 从通用助手返回 HttpResponseMessage
- python - 选择列时出现 KeyError
- office-js - Outlook 加载项 - 从 Outlook 关闭 Windows 应用商店后,侧面加载的自定义加载项消失
- javascript - 如何在 Python 中使用 Javascript 对象文字
- debugging - ltrace 和 gdb 附加到同一进程
- ruby - 如何在包管理器中安装所需版本的软件包(jekyll-plugins)?
- javascript - 如何测试文件是否存在于javascript中
- r - 在 r 中组合向量