【发布时间】:2020-01-15 04:23:21
【问题描述】:
网站上的第一个问题。
测试此站点的所有解决方案但不起作用!
运行后我在布局应用程序中使用 textview 得到错误:
09-13 05:03:19.674 12726-12726/com.example.learning E/AndroidRuntime: 致命异常: main 进程:com.example.learning,PID:12726 android.view.InflateException: Binary XML file line #25: Error inflating class TextView 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:504) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:414) 在 com.example.learning.Adapters.ClothsAdapter.onCreateViewHolder(ClothsAdapter.java:28) 在 com.example.learning.Adapters.ClothsAdapter.onCreateViewHolder(ClothsAdapter.java:16) 在 android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6493) 在 android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5680) 在 android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563) 在 android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559) 在 android.support.v7.widget.LayoutState.next(LayoutState.java:100) 在 android.support.v7.widget.StaggeredGridLayoutManager.fill(StaggeredGridLayoutManager.java:1570) 在 android.support.v7.widget.StaggeredGridLayoutManager.onLayoutChildren(StaggeredGridLayoutManager.java:682) 在 android.support.v7.widget.StaggeredGridLayoutManager.onLayoutChildren(StaggeredGridLayoutManager.java:604) 在 android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693) 在 android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410) 在 android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 在 android.widget.FrameLayout.onLayout(FrameLayout.java:508) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.support.v4.view.ViewPager.onLayout(ViewPager.java:1767) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 在 android.widget.FrameLayout.onLayout(FrameLayout.java:508) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.support.v7.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:443) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 在 android.widget.FrameLayout.onLayout(FrameLayout.java:508) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) 在 android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) 在 android.widget.LinearLayout.onLayout(LinearLayout.java:1466) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) 在 android.widget.FrameLayout.onLayout(FrameLayout.java:508) 在 android.view.View.layout(View.java:15596) 在 android.view.ViewGroup.layout(ViewGroup.java:4966) 在 android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2072) 在 android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1829) 在 android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) 在 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779) 在 android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 在 android.view.Choreographer.doCallbacks(Choreographer.java:580) 在 android.view.Choreographer.doFrame(Choreographer.java:550) 在一个
xml 文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/image_cloth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:src="@drawable/clothes1"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/margin_X2"
android:layout_alignBottom="@id/image_cloth"
>
<TextView
android:id="@+id/name_cloth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="test text"
android:textSize="@dimen/largX2_font"
android:layout_marginBottom="@dimen/standard_margin"
android:textColor="#000"
android:layout_alignParentRight="true"/>
<TextView
android:id="@+id/view_count_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="700"
android:layout_alignParentRight="true"
android:layout_below="@id/name_cloth"
android:textColor="#000"
android:textSize="@dimen/larg_font"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_view_count"
android:layout_alignTop="@id/view_count_text"
android:layout_alignBottom="@id/view_count_text"
android:layout_toLeftOf="@id/view_count_text"
android:scaleType="centerCrop"
/>
</RelativeLayout>
</RelativeLayout>
java 文件
public ClothsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.item_cloths, parent, false);
return new ClothsViewHolder(view);
}
minSdkVersion: 19
targetSdkVersion: 26
【问题讨论】:
-
你能显示
@dimen/largX2_font&@dimen/standard_margin的值吗 -
@rahul-khurana
8dp 16dp 40dp -
您在 TextView 中提到的
largX2_font是什么? -
一个大于standard_margin的值
-
textSize应该在sp中而不是在dp中
标签: android textview layout-inflater inflate