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)
Ответы
Ответ 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", файл и правильно построить.