Intereting Posts
Загрузка нескольких видео AdMob Android spannable string с межстрочным интервалом Задержка видеопотока RTSP Ошибка INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES в PhoneGap Как добавить заголовок в мою группу меню Java.security.InvalidKeyException: Недопустимый размер ключа или параметры по умолчанию в android Ваш контент должен иметь TabHost, чей атрибут id – android.R.id.tabhost. Android: отображение пользовательского диалога в центре контейнера Android: Хорошей практикой является получение контекста статически? BluetoothGatt: согласование нового MTU преуспевает, но новый размер не может быть использован (разница в 3 байта) Javax.net.ssl.SSLException: Ошибка чтения: ssl = 0x9524b800: ошибка ввода-вывода во время системного вызова, сброс соединения с помощью одноранговой сети Ошибка импорта HoloEverywhere Какую версию Eclipse я использую для Android? Доступ к переменным среды из Android Studio gradle build Получение java.net.SocketTimeoutException: время ожидания подключения в android

Ошибка при добавлении CardView в макет

Я хотел попробовать новые игрушки, которые дал нам Google, и я столкнулся с некоторыми проблемами.

Вот мой build.gradle:

apply plugin: 'com.android.application' android { compileSdkVersion 'android-L' buildToolsVersion "20.0.0" defaultConfig { applicationId "com.tod.android.lpreviewtest" minSdkVersion 'L' targetSdkVersion 'L' versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:cardview-v7:+' } 

Теперь мой макет:

 <RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MyActivity"> <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> </RelativeLayout> 

Когда я переключаюсь на предварительный просмотр экрана в студии Android, я получаю ошибку рендеринга:

 Rendering Problems The following classes could not be instantiated: - android.support.v7.widget.CardView (Open Class, Show Exception) Exception Details java.lang.ClassFormatError: Illegal field name "CardView.Dark" in class android/support/v7/cardview/R$style at java.lang.ClassLoader.defineClass1(ClassLoader.java:-2)   at java.lang.ClassLoader.defineClass(ClassLoader.java:792)   at java.lang.ClassLoader.defineClass(ClassLoader.java:635)   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)   at java.lang.ClassLoader.loadClass(ClassLoader.java:411)   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)   at android.support.v7.widget.CardView.initialize(CardView.java:69)   at android.support.v7.widget.CardView.<init>(CardView.java:60)   at java.lang.reflect.Constructor.newInstance(Constructor.java:526)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:802)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:778)   at android.view.LayoutInflater.inflate(LayoutInflater.java:500)   at android.view.LayoutInflater.inflate(LayoutInflater.java:381) 

Я попытался игнорировать ошибку и запустить приложение в avd, и, хотя все компилируется нормально, в макете не отображается карта. Пожалуйста помоги!

Ps Я использую новую бета-версию Android Studio 0.8.0

Solutions Collecting From Web of "Ошибка при добавлении CardView в макет"

Это ошибка в Android Studio, см. https://code.google.com/p/android/issues/detail?id=79071

Один из комментариев патча гласит: «Это привело к сбою отображения вида карты. CardView объявил стили формы CardView.Dark, из-за которой сгенерированный класс R не смог загрузить».

Следующая версия должна быть исправлена ​​в соответствии с сообщением об ошибке (патч находится на отраслевой студии-1.0-dev). Говорят, что проект один раз разрабатывался как обходной путь, но это не исправляет его для меня (хотя у меня точно такая же ошибка и трассировка стека).

Я смог заставить его работать с эмулятором, изменив свой файл build.gradle на это:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:cardview-v7:+' } 

Убедитесь, что у вас установлен репозиторий поддержки из диспетчера SDK! Надеюсь это поможет

EDIT: как кто-то предложил использовать «com.android.support:cardview-v7:23.1», это лучше, но это не требуется.

Попробуйте добавить эту строку в свой RelativeLayout

 xmlns:card_view="http://schemas.android.com/apk/res-auto" 

Он решил меня, добавив xmlns:card_view="http://schemas.android.com/apk/res-auto"

  <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:card_view="http://schemas.android.com/apk/res-auto"> --->> ****** .... ... <android.support.v7.widget.CardView> .. ... ..... </android.support.v7.widget.CardView> </LinearLayout> 

Мне удалось заставить это работать, добавив следующее в мой build.gradle: compile 'com.android.support:cardview-v7:21.+'

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

Попробуйте добавить это в свой файл build.gradle

 dependencies { ... compile 'com.android.support:cardview-v7:21.0.+' compile 'com.android.support:recyclerview-v7:21.0.+' ... }