如何解决这个二进制XML文件行#8:膨胀类android.support.v7.widget.CardView时出错



当我运行此应用程序时,适配器中有一个卡视图,它给了我一个错误,并且在目标版本高于 27 的某些设备中崩溃。

apply plugin: 'com.android.application'android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "com.example.umesh"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}}dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'}

这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/lv_tv"
android:orientation="horizontal"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView
android:id="@+id/ivl_cvItemParent"
style="@style/example.CardView"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="6dp"
android:layout_marginTop="6dp"
app:cardElevation="4dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/white_bg_selector"
android:padding="5dp"
android:baselineAligned="false">
<RelativeLayout
android:layout_width="100dp"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/tv_radiostatus"
/>
</RelativeLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="1dp"
android:layout_marginLeft="15dp"
android:orientation="vertical">
<TextView
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:id="@+id/tvTitle"
android:maxLines="1"
android:textColor="@color/black"
android:text="" />
<TextView
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:textSize="18sp"
android:ellipsize="end"
android:maxLines="1"
android:id="@+id/tv_streamername"
android:textColor="@color/black"
android:text="" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>

我已经尝试了所有重建和清理项目,当应用程序打开时它仍然崩溃,任何解决方案都会有所帮助。

这是我的日志猫:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.umesh, PID: 32004
android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class android.support.v7.widget.CardView
at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.example.umesh.All_InfoFragment.RadioListAdapter.onCreateViewHolder(RadioListAdapter.java:38)
at com.example.umesh.All_InfoFragment.RadioListAdapter.onCreateViewHolder(RadioListAdapter.java:25)
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:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:132)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1361)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:894)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1171)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16751)
at android.view.ViewGroup.layout(ViewGroup.java:5458)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:167

这是我的卡片视图样式:

<style name="example" parent="Theme.AppCompat.Light" />
<style name="example.CardView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/white_bg_selector</item>
<item name="android:layout_marginLeft">@dimen/cardViewMargin</item>
<item name="android:layout_marginBottom">@dimen/cardViewMargin</item>
<item name="android:layout_marginRight">@dimen/cardViewMargin</item>
<item name="cardElevation">@dimen/cardElevation</item>
</style>

尝试:

<style name="mycardview" parent="CardView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/white_bg_selector</item>
<item name="android:layout_marginLeft">@dimen/cardViewMargin</item>
<item name="android:layout_marginBottom">@dimen/cardViewMargin</item>
<item name="android:layout_marginRight">@dimen/cardViewMargin</item>
<item name="cardElevation">@dimen/cardElevation</item>
</style>

最新更新