android - 如何避免recyclerview item cast错误
问题描述
努力寻找解决方案来解决我在 viewHolder 中单击 itemView 时遇到的转换错误。
ViewHolder 有一个 constraintLayout 和 3 个 textviews,并为 textviews 实现 onClickListeners,其中 2 个工作正常,但连接到 constraintLayout 的那个会给出异常 onClick->
java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.support.constraint.ConstraintLayout$LayoutParams
在适配器中投射 layoutParams 的正确位置在哪里,或者我应该使用 frameLayout 吗?
java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.support.constraint.ConstraintLayout$LayoutParams
at android.support.constraint.ConstraintLayout.getTargetWidget(ConstraintLayout.java:1144)
at android.support.constraint.ConstraintLayout.setChildrenConstraints(ConstraintLayout.java:1038)
at android.support.constraint.ConstraintLayout.updateHierarchy(ConstraintLayout.java:803)
at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1561)
at android.view.View.measure(View.java:21051)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.support.v7.widget.CardView.onMeasure(CardView.java:260)
at android.view.View.measure(View.java:21051)
at android.support.constraint.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:1227)
at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1572)
at android.view.View.measure(View.java:21051)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
at android.view.View.measure(View.java:21051)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:21051)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at android.view.View.measure(View.java:21051)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:758)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:640)
at android.view.View.measure(View.java:21051)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6459)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:849)
at android.view.View.measure(View.java:21051)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2583)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1642)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1893)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1522)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7098)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
at android.view.Choreographer.doCallbacks(Choreographer.java:702)
at android.view.Choreographer.doFrame(Choreographer.java:638)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
解决方案
推荐阅读
- javascript - 使用 underscore.js 返回子值最大的数组索引
- android - 在相对布局中向芯片组添加水平滚动
- javafx-11 - 在 Apache Netbeans 10 中创建 JavaFX11 应用程序时出错
- php - 简单的 PHP 重定向脚本不起作用。特别来自 geoplugin.net。有什么建议吗?
- unity3d - 在 Unity 的顶点着色器中丢弃顶点
- xamarin.forms - Plugin.Messaging.EmailMessageBuilder.withattachemnt 的附件抛出异常错误
- javascript - js:如何从二维数组中过滤掉重复项?
- c++ - 以下程序中的分段错误
- java - 创建自定义类以反序列化对象以检查数据完整性
- hash - 为什么 hash() 和 hasher.write() 的结果不一样?