在运行时膨胀类CardView时出错

时间:2015-03-17 06:33:03

标签: android android-fragments

我正在尝试在我的片段中使用CardView,但在创建XML时,我收到运行时错误

  

错误类导出android.support.v7.widget.CardView

当我改变那个片段时。我已经完成了在此堆栈溢出问题(Error inflating class and android.support.v7.widget.CardView)上找到的步骤,将.jar文件添加到我的项目并设置依赖项,但我的程序仍然崩溃。

如果有任何不同,我正在使用Eclilpse。我的xml文件是

fragment_layout_three.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="8dp" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="203dp"
        android:layout_height="139dp"
        android:text="Test" />

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


Manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edu.pacificu.zeus.boxerapp"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="21" />

<permission
    android:name="edu.pacificu.zeus.boxerapp.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
<uses-permission android:name="edu.pacificu.zeus.boxerapp.permission.MAPS_RECEIVE"/>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <meta-data
         android:name="com.google.android.gms.version"
         android:value="@integer/google_play_services_version"/>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyCNkCxSPo3n2sUuDIZmP_W6LSHQGwsYR88"/>

    <!--Splash Activity -->
    <activity
        android:name=".SplashScreen"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <!--Main Activity-->
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
    </activity>
</application>

1 个答案:

答案 0 :(得分:2)

在我的情况下,我必须同时添加android.support.v7.widget.CardView作为库项目,并在java build path中添加+检查它的jar文件

  1. 转到文件 - &gt;导入 - &gt;现有的Android代码进入工作区 - &gt;浏览(转到sdk / extras / android / support / v7 / cardview) - &gt;点击确定 - &gt;单击“完成”

  2. 右键单击cardview项目 - &gt;属性 - &gt; Android(左窗格) - &gt;启用isLibrary(勾选复选框) - &gt;申请 - &gt;好的

  3. 右键点击您的项目 - &gt;属性 - &gt; Android(左窗格) - &gt;添加(在库下) - &gt; cardview - &gt;申请 - &gt;好的

  4. 再次右键点击您的项目 - &gt;构建路径 - &gt;在库下配置构建路径 - &gt; - &gt;添加jar - &gt;展开cardview - &gt;展开libs - &gt;选择android.support.v7.widget.CardView.jar

  5. 在订单和导出下 - &gt;检查android.support.v7.widget.CardView.jar - &gt;点击确定