2014-10-31 2 views
8

Я использую CardView библиотеки поддержки в своем приложении для Android. Я пробовал 4-5 часов, чтобы решить эту проблему, но я не смог добиться успеха.Исключение: android.view.InflateException: двоичная строка XML-файла # 2: ошибка раздувания класса android.support.v7.widget.CardView

Я добавил CardView как библиотека в моем проекте & v7 AppCompat также

<android.support.v7.widget.CardView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="5dp" 
    android:orientation="horizontal" 
    app:cardCornerRadius="4dp" > 

Но мое приложение врезаться с ниже журналы

10-31 18:41:39.577: E/AndroidRuntime(5666): FATAL EXCEPTION: main 
10-31 18:41:39.577: E/AndroidRuntime(5666): Process: com.xyzladdoo, PID: 5666 
10-31 18:41:39.577: E/AndroidRuntime(5666): android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.CardView 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.LayoutInflater.inflate(LayoutInflater.java:469) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at com.xyzladdoo.adapters.RecycleViewAdapter.onCreateViewHolder(RecycleViewAdapter.java:85) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at com.xyzladdoo.adapters.RecycleViewAdapter.onCreateViewHolder(RecycleViewAdapter.java:1) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:2915) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:2511) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.widget.LinearLayoutManager$RenderState.next(LinearLayoutManager.java:1425) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:999) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:524) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:1461) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:1600) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v4.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:543) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1594) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:887) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:502) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.widget.FrameLayout.onLayout(FrameLayout.java:388) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.View.layout(View.java:14860) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewGroup.layout(ViewGroup.java:4643) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2013) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1770) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1019) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5725) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at android.view.Choreographer.doFrame(Choreographer.java:544) 
10-31 18:41:39.577: E/AndroidRuntime(5666):  at an 

Любая помощь? Заранее спасибо.

+0

Проверьте эту ссылку: http://stackoverflow.com/questions/24449344/using-android-support-v7-widget-cardview-in-my-project-eclipse –

+0

- это ваш xml ?, опубликовать больше это, а также ваш вздутие. – zozelfelfo

+0

@FaroukTouzi Я использую adt –

ответ

0

Попробуйте это ..

<android.support.v7.widget.CardView 
    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:id="@+id/card_view" 
    android:layout_gravity="center" 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    card_view:cardCornerRadius="4dp"> 


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

Ссылка: Create Cards

+0

Я пробовал, но не работал для меня :( –

1

Поддержки ЛИЭС, которые содержат, кроме скомпилированных классов (как XMLs) ресурсов не может быть добавлен как только банки.

Пожалуйста, выполните следующие действия, описанные в этом:

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

Предположим теперь, если это работает.

+0

i сделал то же самое, но не работал для меня –

+0

@MohammedEAmer: Спасибо, ты спас мой день. –

0

Попробуйте использовать, как это, с наружным linearlayout.

<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" 
    ... > 
    <!-- 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" 
     card_view:cardCornerRadius="4dp"> 

     <TextView 
      android:id="@+id/info_text" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 
    </android.support.v7.widget.CardView> 
</LinearLayout> 
+0

Я пробовал, что он не работает для меня :( –

+0

выслать полные коды –

+0

См. здесь http://pastebin.com/mww5QvXX –

7

Пусть импорт cardview как библиотека:
Перейти к Файл -> Импорт -> Существующий Android код в рабочее пространство -> Обзор (Перейти к SDK/дополнения/Android/поддержка/v7/cardview) - > Нажмите «ОК» -> «Завершить»

Теперь ваш исследователь проекта покажет вид карты как проект.

правой кнопкой мыши на cardview проекта -> Свойства -> Android (левая панель) -> Включить isLibrary (отметьте флажок) -> Применить -> OK

Теперь щелкните правой кнопкой мыши на вашем проекте - -> Свойства -> Android (Левая панель) -> Добавить (под библиотекой) -> Картвью -> применить -> ok

Теперь щелкните правой кнопкой мыши по вашему проекту еще раз -> путь построения -> настроить путь сборки -> Вкладка «Проекты», добавить карточку

Все готово.
Source

+0

Он работает. Спасибо. –

+0

Вы хорошо. Я встретил эту ошибку раньше.Я Googled и найти два вопроса по StackOverFlow об этой проблеме, но у одного из них есть ответ, который поможет мне решить проблему. Итак, я копирую/вставляю сюда :) – Justin

+0

На самом деле я добавил библиотеку v7 abcompat в свой проект и подумал, что этого достаточно, чтобы принести карту. Позже я понял по вашему ответу, что cardView lib доступен отдельно. Большое спасибо .. –

1

Чтобы устранить эту проблему. первых вы должны добавить cardview из \ SDK \ Extras \ Android \ поддержка

  1. Закрыть главный проект.
  2. Удалите поддержку android-support-v7-appcompat.
  3. Перезапустите Затмение.
  4. Добавьте поддержку android-support-v7-appcompat.
  5. Очистить, построить проект.
  6. Затем откройте главный проект и постройте все проекты.
  7. Ошибка по-прежнему сохраняется. Перезапустить затмение. Вот и все.

Это работает для меня.

+0

Но теперь я рекомендую вам использовать Android-студию –

2

(для IntelliJ пользователей)

  • нажмите в вашем проекте,
  • правой кнопкой мыши -> Открыть настройки модуля
  • импорт cardview из \ SDK \ Extras \ Android \ поддержка \ v7 \
  • добавьте файл .jar в модуль cardview
  • нажмите на свой проект и укажите зависимость модуля от вида карты
  • сейчас нажмите кнопку (+) на карте -> android -> наверху вы увидите флажок (библиотечный модуль), включите его.
  • Нажмите «ОК» и закройте диалоговое окно настроек.
  • перестройте свой проект и запустите его.
0

У меня была такая же проблема, как и вы.

В Затмения, при импорте cardview из директории \ SDK \ Extras \ Android \ поддержка \ v7 \ cardview следуйте инструкциям, которые комментировали в «Добавление библиотек с ресурсами -> Затмения» в официальной документации: https://developer.android.com/intl/es/tools/support-library/setup.html#libs-with-res

Перед добавлением карты в ваш проект, перейдите в «Свойства -> Android» . Кардвальный проект и добавьте библиотеку android-support-v7-appcompat. Не забудьте проверить «IsLibrary».

Теперь вы можете добавить карту в качестве библиотеки в свой проект. Очистите оба проекта, чтобы обновить изменения.

Надеюсь, это вам поможет.