donkingliang / LabelsView

Android的标签列表控件。可以设置标签的选中效果。 可以设置标签的选中类型:不可选中、单选、限数量多选和不限数量多选等, 并支持设置必选项、单行显示、最大显示行数等功能。
Apache License 2.0
1.02k stars 157 forks source link

导入项目,运行报错 #10

Closed luyun181 closed 6 years ago

luyun181 commented 6 years ago

android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class com.donkingliang.labels.LabelsView

找不到该控件。导包也没有报错

donkingliang commented 6 years ago

你是说代码可以访问LabelsView,用xml就解析不了吗?你能通过点击xml跳转到LabelsView类吗?如果都访问不到,可能是项目导入失败。如果只是xml布局解析出错,那就看一下布局和它引用的相关资源是否有错误。 如果问题没有解决,可以贴一下代码和详细的报错信息让我分析,谢谢!

luyun181 commented 6 years ago

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:zhy="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content">

<TextView
    android:id="@+id/tv_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="@dimen/x5"
    android:text="规格" />

<com.donkingliang.labels.LabelsView android:id="@+id/label_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/x10" app:labelTextColor="@color/blue" app:labelTextPaddingLeft="10dp" app:labelTextPaddingRight="10dp" app:labelTextPaddingTop="5dp" app:layout_constraintTop_toBottomOf="@id/tv_title" app:selectType="SINGLE">

</android.support.constraint.ConstraintLayout>

是可以进入源码的。就是运行报错。还没有引入资源文件。color的值是确定有的

luyun181 commented 6 years ago

Process: com.ihuanyan.vanbang, PID: 28432 android.view.InflateException: Binary XML file line #15: Binary XML file line #15: Error inflating class com.donkingliang.labels.LabelsView at android.view.LayoutInflater.inflate(LayoutInflater.java:539) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at com.chad.library.adapter.base.BaseQuickAdapter.getItemView(BaseQuickAdapter.java:1518) at com.chad.library.adapter.base.BaseQuickAdapter.createBaseViewHolder(BaseQuickAdapter.java:1022) at com.chad.library.adapter.base.BaseQuickAdapter.onCreateDefViewHolder(BaseQuickAdapter.java:1018) at com.chad.library.adapter.base.BaseQuickAdapter.onCreateViewHolder(BaseQuickAdapter.java:774) at com.chad.library.adapter.base.BaseQuickAdapter.onCreateViewHolder(BaseQuickAdapter.java:68) at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6685) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5869) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:614) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3812) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3529) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4082) at android.view.View.layout(View.java:16946) at android.view.ViewGroup.layout(ViewGroup.java:5582) at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1858) at android.view.View.layout(View.java:16946) at android.view.ViewGroup.layout(ViewGroup.java:5582) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396) at android.widget.FrameLayout.onLayout(FrameLayout.java:333) at android.view.View.layout(View.java:16946) at android.view.ViewGroup.layout(ViewGroup.java:5582) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396) at android.widget.FrameLayout.onLayout(FrameLayout.java:333) at android.view.View.layout(View.java:16946) at android.view.ViewGroup.layout(ViewGroup.java:5582) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:396) at android.widget.FrameLayout.onLayout(FrameLayout.java:333) at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2725) at android.view.View.layout(View.java:16946) at android.view.ViewGroup.layout(ViewGroup.java:5582) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2547) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2250) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1321) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6703) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:894) at android.view.Choreographer.doCallbacks(Choreographer.java:696) at android.view.Choreographer.doFrame(Choreographer.java:631) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:880) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5692) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)

donkingliang commented 6 years ago

你的项目能运行起来吗,我这么看你的布局没有结束符啊。 11 你能截图发你想你的完整布局吗?

luyun181 commented 6 years ago

运行的时候是有的。我发的是整理代码的时候,不小心删掉了。

luyun181 commented 6 years ago

<com.donkingliang.labels.LabelsView android:id="@+id/label_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/x10" app:labelTextColor="@color/blue" app:labelTextPaddingLeft="10dp" app:labelTextPaddingRight="10dp" app:labelTextPaddingTop="5dp" app:layout_constraintTop_toBottomOf="@id/tv_title" app:selectType="SINGLE">

 </com.donkingliang.labels.LabelsView>
donkingliang commented 6 years ago

我找到原因了;是因为我没有对labelBackground为空的情况下做判断,这个bug我在后面的版本修复一下。 你现在只要设置一些app:labelBackground就可以了。 app:labelBackground="@drawable/label_bg" //标签的背景 如果你不需要背景,可以直接设置个透明色,不过要是资源id,不能直接写颜色值。

luyun181 commented 6 years ago

ok。谢谢了