web-dev-qa-db-ja.com

クラスAndroid.support.v7.widget.CardViewの膨張エラー

アプリケーションを実行しようとしたときに、次のエラーが予期せず発生しました。

Binary XML file line #8: Error inflating class Android.support.v7.widget.CardView

以下はログ猫です。

11-09 13:11:58.558: E/AndroidRuntime(12542): FATAL EXCEPTION: main
    11-09 13:11:58.558: E/AndroidRuntime(12542): Android.view.InflateException: Binary XML file line #8: Error inflating class Android.support.v7.widget.CardView
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:698)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:746)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:489)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at com.dooba.beta.ThirdFragment.onCreateView(ThirdFragment.Java:15)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.support.v4.app.Fragment.performCreateView(Fragment.Java:1786)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.Java:947)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.Java:1126)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.support.v4.app.BackStackRecord.run(BackStackRecord.Java:739)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.Java:1489)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.Java:454)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.os.Handler.handleCallback(Handler.Java:615)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.os.Handler.dispatchMessage(Handler.Java:92)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.os.Looper.loop(Looper.Java:137)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.app.ActivityThread.main(ActivityThread.Java:4745)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Java.lang.reflect.Method.invokeNative(Native Method)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Java.lang.reflect.Method.invoke(Method.Java:511)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:786)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:553)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at dalvik.system.NativeStart.main(Native Method)
    11-09 13:11:58.558: E/AndroidRuntime(12542): Caused by: Java.lang.ClassNotFoundException: Android.support.v7.widget.CardView
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:61)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:501)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:461)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.view.LayoutInflater.createView(LayoutInflater.Java:552)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:687)
    11-09 13:11:58.558: E/AndroidRuntime(12542):    ... 19 more

Javaコード:

public class ThirdFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.activity_city, container, false);

        return rootView;
    }


}

レイアウトコードは次のとおりです。

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    xmlns:card_view="http://schemas.Android.com/apk/res-auto"
        Android:layout_width="match_parent"
    Android:layout_height="match_parent"
   >
    <!-- A CardView that contains a TextView -->
    <Android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.Android.com/apk/res-auto"
        Android:id="@+id/card_view"
        Android:layout_gravity="center"
        Android:layout_width="200dp"
        Android:layout_height="200dp"
       >

        <TextView
            Android:id="@+id/info_text"
            Android:layout_width="match_parent"
            Android:layout_height="match_parent" 

            />
    </Android.support.v7.widget.CardView>
</LinearLayout>

前もって感謝します

20
John

App/build.gradleに更新されたcardviewとappcompatを追加することでこれを解決しました

dependencies {
    ...
    compile 'com.Android.support:appcompat-v7:23.4.0'    
    compile 'com.Android.support:cardview-v7:23.4.0'
    compile 'com.Android.support:recyclerview-v7:23.4.0'
    }

その後、プロジェクトを再構築します

36
macbee

この問題は、androidXを使用して<androidx.cardview.widget.CardViewとクラッシュは大丈夫です。ヒントの1つは、プレビューでレイアウトが表示されるかどうかを確認することです。

gradleでは、次のようになります:implementation 'androidx.cardview:cardview:1.0.0'

7
Csabi

v7 cardview library への依存関係を指定する必要があります

Build.gradleを編集し、依存関係セクションで「com.Android.support:cardview-v7:21.0.+」を指定します。

4
aleb

上記の回答は役に立ちませんでした。追加後に正常に動作します

<Android.support.v7.widget.CardView
    ...
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    app:cardBackgroundColor="@Android:color/transparent">

説明できません。

1
Mikhail

この問題を修正するには。まず、からカードビューを追加する必要があります

  1. メインプロジェクトを閉じます。
  2. Android-support-v7-appcompatを削除します。
  3. Eclipseを再起動します。
  4. Android-support-v7-appcompatを追加します。
  5. プロジェクトをビルドします。
  6. 次に、メインプロジェクトを開き、3つのプロジェクトをすべてビルドします。
  7. エラーはまだ残っています。 Eclipseを再起動します。それでおしまい。

それは私のために働く。

1
Hemant Shori

このエラーがAndroidXで発生した場合、次の依存関係を使用してこのエラーを修正する必要があります。

implementation 'androidx.cardview:cardview:1.0.0'
0
Jerry Chong

問題は依存関係にあります

これをすべてのステップを注意深く読んでみてください

https://developer.Android.com/tools/support-library/setup.html#libs-with-res

すべての依存関係を確認しながら、関連するJavaクラスファイルextends AppCompatACtivityかどうか)を確認するだけです。

0
GauRav MisHra