如何避免recyclerview项目投放错误

时间:2018-10-10 15:31:20

标签: android

当我在viewHolder内单击itemView时,正在努力寻找解决投射错误的方法。

ViewHolder具有一个ConstraintLayout和3个textview,并为该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)

0 个答案:

没有答案