- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
( 我使用 MotionLayout 已经有一段时间了,这绝对是一种享受。 最佳答案 这件事刚刚发生在我身上。问题是我试图在我的 fragment 中使用错误的 关于android - MotionLayout - 日志中恼人的调试错误 : "no widget for <view id> (<view type>)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61002323/ android - MotionLayout - 日志中恼人的调试错误 : "no widget for
但我一直面临着一个污染问题,我想知道如何才能摆脱。
基本上,我在日志中遇到以下类型的错误,尽管我的 MotionLayout 驱动的布局没有发现任何问题:2020-04-02 23:32:35.709 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for callLog (com.google.android.material.card.MaterialCardView)
2020-04-02 23:32:35.709 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for callLog (com.google.android.material.card.MaterialCardView)
2020-04-02 23:32:35.709 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for spaceTop (android.widget.Space)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for spaceTop (android.widget.Space)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for callLogExpanded (com.google.android.material.card.MaterialCardView)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for callLogExpanded (com.google.android.material.card.MaterialCardView)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for callLogDeleteIcon (androidx.appcompat.widget.AppCompatImageView)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for callLogDeleteIcon (androidx.appcompat.widget.AppCompatImageView)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for guidelineLeft (androidx.constraintlayout.widget.Guideline)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for guidelineLeft (androidx.constraintlayout.widget.Guideline)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for callLog (com.google.android.material.card.MaterialCardView)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for callLog (com.google.android.material.card.MaterialCardView)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for spaceTop (android.widget.Space)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for spaceTop (android.widget.Space)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1959)no widget for callLogExpanded (com.google.android.material.card.MaterialCardView)
2020-04-02 23:32:35.710 12500-12500/cz.nn.calllog E/MotionLayout: .(MotionLayout.java:1967)no widget for callLogExpanded (com.google.android.material.card.MaterialCardView)
检查
build()
MotionLayout.java
的方法在理解导致这些错误的极端情况方面对我没有多大帮助。我的场景没有引用给定 MotionLayout 的所有子项,而只引用了动画的子项。但是这个日志错误引用了场景中完全定义的 child (意味着他们为所有
Constraint
定义了
ConstraintSet
)以及那些没有引用的 child ,因为他们的约束没有变化(正是因为 MotionLayout 接受了这种便利,我将其定义排除在场景文件之外)。
我正在使用
RecyclerView
每个 child 都有一个带有嵌入式 MotionLayout 的 View 。我怀疑他们两个在一起会以某种方式产生这个问题......谁能告诉我这是否可能是我应该担心的事情?到目前为止,我一直忽略它,因为正如我所说,我认为依赖这个类的布局的整体功能确实没有影响。
这一切都在运行 Android 10 的模拟器上进行了测试。
提前感谢您提供的任何见解!
MotionLayout
设置过渡状态。 (我也有嵌套的 MotionLayouts)。
而不是调用 binding.secondMotionLayout.root.setState(...)
, 我调用 binding.firstMotionLayout.root.setState(...) and attempting to reference the
约束集 s of the second
运动布局`。
也许你正在用你的 RecyclerView
做类似的事情。 ?我会确保正确引用 MotionLayout
RecyclerView 中的每个项目。根据您实现它的方式,它将位于 ViewHolder 中。
我是一名优秀的程序员,十分优秀!