Подтвердить что ты не робот

RecyclerView ClassNotFound

Я попытался добавить RecyclerView и CardView в свой проект

dependencies {
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.android.support:support-v13:21.0.0'
compile 'com.android.support:cardview-v7:21.0.0'
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.viewpagerindicator:library:[email protected]'
compile project(':facebook')
}

он компилируется, но при запуске на устройстве

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.RecyclerView" on path: DexPathList[[zip file "/data/app/xxxx.apk"],nativeLibraryDirectories=[/data/app-lib/xxxx, /vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
        at android.view.LayoutInflater.createView(LayoutInflater.java:559)
        at android.view.LayoutInflater.onCreateView(LayoutInflater.java:652)
4b9b3361

Ответ 1

Проблема в вашем макете. Изменить

<RecyclerView 
   ...

Для

<android.support.v7.widget.RecyclerView
   ...

Если вы создаете RecyclerView программно - убедитесь, что у вас есть правильный импорт:

import android.support.v7.widget.RecyclerView;

Ответ 2

Я сделал все, что было сказано в этом посте, но ничего не получилось.

Что для меня работало:

1. Добавьте это, как говорится в свой build.gradle:

compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:cardview-v7:+'

2. Добавить RecyclerView в качестве стандартного представления и указать класс:

    <view
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="android.support.v7.widget.RecyclerView"
    android:id="@+id/my_recycler_view"
    />

3. Затем добавьте импорт:

import android.support.v7.widget.RecyclerView;

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

Ответ 3

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

compile 'com.android.support:support-v4:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:cardview-v7:+'

С уважением!

Ответ 4

в eclipse, вам нужно очистить другие (более старые) версии android-support-v4.jar от других библиотек, которые вы импортируете прямо или косвенно.

для моего экземпляра; мой проект (TurkRenkleri) включает MobilePlayGround, который включает в себя библиотеку appcompat (которая имеет более старую версию поддержки v4 jar). Так что я не получил ошибку, приведенную ниже, вместо этого я получил RecyclerView ClassNotFound.

после выполнения этого, я наконец получил ошибку ниже и понял проблему, поэтому решение (удалить старые банки).

[2015-04-29 00:59:53 - TurkRenkleri] Found 2 versions of android-support-v4.jar in the dependency list,
 [2015-04-29 00:59:53 - TurkRenkleri] but not all the versions are identical (check is based on SHA-1 only at this time).
 [2015-04-29 00:59:53 - TurkRenkleri] All versions of the libraries must be the same at this time.
 [2015-04-29 00:59:53 - TurkRenkleri] Versions found are:
 [2015-04-29 00:59:53 - TurkRenkleri] Path: E:\calisma alani\oyunlar\android-support-v7-appcompat\libs\android-support-v4.jar
 [2015-04-29 00:59:53 - TurkRenkleri]   Length: 621451
 [2015-04-29 00:59:53 - TurkRenkleri]   SHA-1: 5896b0a4e377ac4242eb2bc785220c1c4fc052f4
 [2015-04-29 00:59:53 - TurkRenkleri] Path: E:\calisma alani\oyunlar\RecyclerView\libs\android-support-v4.jar
 [2015-04-29 00:59:53 - TurkRenkleri]   Length: 1157388
 [2015-04-29 00:59:53 - TurkRenkleri]   SHA-1: 605c447c20ca216b5556af9f215af5d4bba1b117
 [2015-04-29 00:59:53 - TurkRenkleri] Jar mismatch! Fix your dependencies

Ответ 5

Убедитесь, что вы компилируете 'com.android.support:recyclerview-v7:22.2.0'

Ответ 6

Это сработало для меня. Добавьте это в приложение gradle

compile 'com.android.support:design:23.1.1'

Затем в вашем макете

<android.support.v7.widget.RecyclerView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/recyclerView"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

и в вашей деятельности

import android.support.v7.widget.RecyclerView;

и внутри вашего onCreate

RecyclerView recyclerView;

Ответ 7

Если вы ищете решение в 2019 году, вы можете попробовать изменить android.support.v7.widget.RecyclerView для androidx.recyclerview.widget.RecyclerView. Меня устраивает. Надеюсь, поможет!

Ответ 8

Если вы обновили свою андроид студию до v-3.4.2

затем изменить с

android.support.v7.widget.RecyclerView

в

androidx.recyclerview.widget.RecyclerView

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

Ответ 9

Это проблема с построением...

Да в нескольких случаях, код работал ранее, и вдруг это перестали работать (сбой при запуске приложения), когда я синхронизировал и более старой версии кода.

Исправить было просто закрыть и перезапустить Eclipse и очистить проект и очистить все проекты зависимых библиотек. Затем он начал работать правильно снова.

Это какая-то проблема сборки в Eclipse при обновлении файлы проекта.

Обновление: в частности, если вы случайно изменили Файл ".classpath" (чтобы вернуться к более старой версии), Eclipse/Android SDK может запутаться и не построить проект должным образом. При перезапуске Eclipse и очистить проект, Eclipse будет повторно модифицировать ".classpath", файл и правильно построить.