如何解决:错误膨胀类android.support.v7.widget.CardView

时间:2018-03-27 11:56:22

标签: java android android-layout android-studio android-fragments

我对这个bug感到非常沮丧。我完成了我的项目并在我的Android 4.4.2版本的设备上运行,它运行成功,然后我成功上传到Playstore并再次从Playstore安装,但仍然工作正常......

但后来我收到了很多朋友的崩溃报告。然后我借用了Android版6.0.1的朋友设备,我从Android Studio运行应用程序,应用程序在Splashactivity启动后突然崩溃。 Splashactivity开始成功然后在打开Mainactivity之前,我使用片段容器加载5-6片段......它崩溃了。

以下是我的错误日志报告

Caused by: android.view.InflateException: Binary XML file line #69: Binary XML file line #69: Error inflating class android.support.v7.widget.CardView
        at android.view.LayoutInflater.inflate(LayoutInflater.java:543)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:427)
        at com.nepalpolice.cdp.main.onCreateView(main.java:69)

这是布局文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".main">



    <LinearLayout
        android:orientation="vertical"
        android:background="@drawable/bg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">




        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true">

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:adjustViewBounds="true"
                android:src="@drawable/main"
                />

        </RelativeLayout>
        <View
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:background="#f7f6f3"/>

        <View
            android:id="@+id/SplitLine_hor1"
            android:layout_width="match_parent"
            android:layout_height= "2dp"
            android:background="#C0C0C0" />


        <android.support.v7.widget.GridLayout
            android:id="@+id/mainGrid"
            app:orientation="horizontal"
            app:columnCount="2"
            android:background="#FEFEFE"
            app:rowCount="3"
            app:columnOrderPreserved="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="1dp"
            >

            <!-- Row 1 -->

            <!-- Column 1 -->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                android:backgroundTint="@drawable/megaphone"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:src="@drawable/notices"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id='@+id/news'/>

                    <TextView
                       android:text="News "
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

            </android.support.v7.widget.CardView>

            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/feeds'
                        android:src="@drawable/feeds"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:text="Blog"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

            </android.support.v7.widget.CardView>


  </LinearLayout>




</ScrollView>


</RelativeLayout>

我的构建gradle文件是

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"
    defaultConfig {
        applicationId "com.nepalpolice.cdp"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 5
        versionName "5.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    dexOptions {
        jumboMode true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}





dependencies {
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation 'com.google.firebase:firebase-storage:11.8.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation("com.github.bumptech.glide:glide:4.6.1") {
        exclude group: "com.android.support"
        implementation 'com.android.support:appcompat-v7:26.+'
        implementation 'com.android.support:support-v4:26.+'
        implementation 'com.android.support:cardview-v7:26.+'
        implementation 'com.android.support:recyclerview-v7:26.+'
        implementation 'com.google.firebase:firebase-messaging:11.8.0'
        implementation 'com.google.gms:google-services:3.1.0'
        implementation 'com.android.support:design:26.+'
        implementation 'de.hdodenhof:circleimageview:2.2.0'

        implementation 'com.theartofdev.edmodo:android-image-cropper:2.5.1'
        implementation 'com.android.support:gridlayout-v7:26.+'
        implementation 'com.github.clans:fab:1.6.2'
        testCompile 'junit:junit:4.12'
        implementation 'com.google.android.gms:play-services-maps:11.8.0'
        implementation 'com.google.firebase:firebase-firestore:11.8.0'
        implementation 'id.zelory:compressor:2.1.0'
        implementation files('libs/libGoogleAnalyticsServices.jar')


    }
    apply plugin: 'com.google.gms.google-services'
}

和图像文件是 Error log Report

我的主要片段是

  public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_main, container, false);
    news   = (ImageView) view.findViewById(R.id.news);
    notice   = (ImageView) view.findViewById(R.id.notice);

我如何解决这个问题.....我也接受了许多其他帖子,但它也没有帮助。 提前致谢

4 个答案:

答案 0 :(得分:3)

使用

app:backgroundTint="@drawable/megaphone"

而不是这个

 android:backgroundTint="@drawable/megaphone"

试试这个

<android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                app:backgroundTint="@drawable/megaphone"
                >

答案 1 :(得分:2)

  

您已在滑行中实现了所有依赖项。尝试下面的gradle

Gradle:

dependencies {
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation 'com.google.firebase:firebase-storage:11.8.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation("com.github.bumptech.glide:glide:4.6.1") {
        exclude group: "com.android.support" 
     }
        implementation 'com.android.support:appcompat-v7:26.+'
        implementation 'com.android.support:support-v4:26.+'
        implementation 'com.android.support:cardview-v7:26.+'
        implementation 'com.android.support:recyclerview-v7:26.+'
        implementation 'com.google.firebase:firebase-messaging:11.8.0'
        implementation 'com.google.gms:google-services:3.1.0'
        implementation 'com.android.support:design:26.+'
        implementation 'de.hdodenhof:circleimageview:2.2.0'

        implementation 'com.theartofdev.edmodo:android-image-cropper:2.5.1'
        implementation 'com.android.support:gridlayout-v7:26.+'
        implementation 'com.github.clans:fab:1.6.2'
        testCompile 'junit:junit:4.12'
        implementation 'com.google.android.gms:play-services-maps:11.8.0'
        implementation 'com.google.firebase:firebase-firestore:11.8.0'
        implementation 'id.zelory:compressor:2.1.0'
        implementation files('libs/libGoogleAnalyticsServices.jar')

    apply plugin: 'com.google.gms.google-services'
}

答案 2 :(得分:1)

在查看您的// Replace the variables in this block with real values. var address = 'database_IP_address'; var user = 'user_name'; var userPwd = 'user_password'; var db = 'database_name'; var dbUrl = 'jdbc:mysql://' + address + '/' + db' integrated security = ssip; // Read up to 1000 rows of data from the table and log them. function readFromTable() { var conn = Jdbc.getConnection(dbUrl, user, userPwd); var start = new Date(); var stmt = conn.createStatement(); stmt.setMaxRows(1000); var results = stmt.executeQuery('SELECT * FROM entries'); var numCols = results.getMetaData().getColumnCount(); while (results.next()) { var rowString = ''; for (var col = 0; col < numCols; col++) { rowString += results.getString(col + 1) + '\t'; } Logger.log(rowString) } results.close(); stmt.close(); var end = new Date(); Logger.log('Time elapsed: %sms', end - start); }代码后,我发现您忘记声明导致此xml的ID newsnotice

解决方案:将这些字段声明为所需的android.view.InflateException&#39;

答案 3 :(得分:1)

尝试使用app:cardBackgroundColor相反,我认为tint无效CardView

OR

测试问题,尝试用任何颜色替换@drawable/megaphone,可能是megaphone

中的问题