未找到类“android.support.v7.widget.RecyclerView”

未找到类“android.support.v7.widget.RecyclerView”,android,android-recyclerview,Android,Android Recyclerview,我在运行时遇到此异常: android.view.InflateException:二进制XML文件第8行:膨胀类android.support.v7.widget.RecyclerView时出错 原因:java.lang.ClassNotFoundException: 在路径:/data/app/my.package.location-1.apk上未找到类android.support.v7.widget.RecyclerView 关于这个错误有一些问题,我从中学会了: -在xml和Java代

我在运行时遇到此异常:

android.view.InflateException:二进制XML文件第8行:膨胀类android.support.v7.widget.RecyclerView时出错 原因:java.lang.ClassNotFoundException: 在路径:/data/app/my.package.location-1.apk上未找到类android.support.v7.widget.RecyclerView

关于这个错误有一些问题,我从中学会了: -在xml和Java代码中精确指定support.v7 RecyclerView。 -在Eclipse中,我将此jar文件作为库添加到项目中: adt-bundle-windows-x86\U 64-20140321\sdk\extras\android\support\v7\recyclerview\libs\android-support-v7-recyclerview.jar -在Eclipse中,在*adt-bundle-windows-x86_64-20140321\sdk\extras\android\support\v7\recyclerview中导入现有的项目测试活动* 然后将该项目添加到我自己项目的Java构建路径中

项目构建目标是Android 5.1.1/API 22

一切都没有效果。 还有什么

来自MyFragment.java

import android.support.v7.widget.RecyclerView;
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
            final Activity thisActivity = getActivity();
            final RecyclerView recyclerView = (RecyclerView)thisActivity.findViewById(R.id.my_listview);

            final List<String> list = Arrays.asList(HEADERS);

            final MyRecyclerAdapter adapter = new MyRecyclerAdapter(list);
            recyclerView.setAdapter(adapter);

}

在您工作区的eclipse中,使用现有代码创建一个新项目,然后在android SDK支持中选择指向回收器的路径,并在属性中选择编译器google API 20或21,然后检查Is库

之后,在工作区中选择您自己的项目,右键单击properties并转到android部分,在library中单击add按钮并从列表中选择您的Recycler项目

接下来,必须从“项目”菜单中清除所有项目


很抱歉,如果我的英语很差,但它是您的解决方案,只是通过错误将suuport v7添加为jar,这与v4不同。

如果您不知道哪个jar文件包含您要查找的类,您可以使用此bash命令。在Windows上,如果安装Cygwin,您可以运行它

对于查找中的i,-name\*.jar;do echo$i;jar tvf$i | fgrep$*;done


这将在子目录中搜索并帮助您找到丢失的jar文件。

切换到Android Studio是一个更好的选择,但渲染问题仍然存在

要在androidstudio中删除相同的功能,请将Gradle依赖项添加到模块中

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

希望这能像帮助我一样帮助别人。这是一个小小的改变,但非常烦人。

这是我完成mqtt项目的eclipse之旅

首先,您必须检查支持库是否存在,如果不存在,您必须使用sdk管理器下载它

我知道你已经有那个图书馆了。 只需检查支持库所在的目录。 您一定要确认图片上存在四个目录

就你而言, 您将有两个核心库,它们都是appcompat-v7 以及至少为22版或更高版本的support-v4

每个文件夹中必须有一个aar文件。您必须将后缀aar更改为zip,然后将其解压缩到文件夹下。将这两个class.jar重命名为appcompat-v7-22.1.0.jar和support-v4-22.1.0.jar

这意味着您已经准备好将它们复制到项目中适当的libs文件夹中

对两个文件夹执行相同的操作

在recyclerview-v7\21.0.0文件夹中,您可以将classes.jar重命名为您想要的任何名称,并将support annotations\21.0.0\下的support-annotations-21.0.0.jar重命名为您的项目的your libs文件夹

将现有的android项目导入eclipse

另外,对support-v4-22.1.0库也执行同样的操作

别忘了选中复选框-“是库”

您最终可以设置项目的所有配置,如下图所示

这是我的project.properties文件

target=android-21

java.target=1.7
java.source=1.7

android.library.reference.1=..\\MqttService
android.library.reference.2=..\\extras\\android\\m2repository\\com\\android\\support\\appcompat-v7\\22.1.0\\appcompat-v7-22.1.0
android.library.reference.3=..\\extras\\android\\m2repository\\com\\android\\support\\support-v4\\22.1.0\\support-v4-22.1.0
如果您将android studio更新为v-3.4.2

然后从


这是我的工作。

实现'com.google.android.material:material:1.4.0-alpha02'

Simple Two Steps:

In stand off

<android.support.v7.widget.RecyclerView
            android:id="@+id/rv_News"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="vertical" />  

Replace with androidx package in xml file as below

<androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical" />

@Ambilpura
如果依赖项列表中有此项,则应删除此项以及任何其他与“循环视图”相关的依赖项,并同步渐变

并添加这两个依赖项

实现'com.android.support:appcompat-v7:21.0.3'


实现'com.android.support:recyclerview-v7:21.0.0'

切换到android Studio。这如何解决问题?我喜欢这些答案。多亏了你,我花了15秒而不是1小时来解决问题。
android.view.InflateException: Binary XML file line #8: Error inflating class android.support.v7.widget.RecyclerView
    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.constructNative(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
    at android.view.LayoutInflater.createView(LayoutInflater.java:587)
    ... 44 more
Caused by: java.lang.NoClassDefFoundError: android.support.v4.util.Pools$SimplePool
    at android.support.v7.widget.AdapterHelper.<init>(AdapterHelper.java:56)
    at android.support.v7.widget.AdapterHelper.<init>(AdapterHelper.java:71)
    at android.support.v7.widget.RecyclerView.initAdapterManager(RecyclerView.java:455)
    at android.support.v7.widget.RecyclerView.<init>(RecyclerView.java:339)
    ... 47 more
 dependencies {
    ...
    compile 'com.android.support:recyclerview-v7:21.0.+'
   }
target=android-21

java.target=1.7
java.source=1.7

android.library.reference.1=..\\MqttService
android.library.reference.2=..\\extras\\android\\m2repository\\com\\android\\support\\appcompat-v7\\22.1.0\\appcompat-v7-22.1.0
android.library.reference.3=..\\extras\\android\\m2repository\\com\\android\\support\\support-v4\\22.1.0\\support-v4-22.1.0
android.support.v7.widget.RecyclerView
androidx.recyclerview.widget.RecyclerView
Simple Two Steps:

In stand off

<android.support.v7.widget.RecyclerView
            android:id="@+id/rv_News"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="vertical" />  

Replace with androidx package in xml file as below

<androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical" />

@Ambilpura