未找到类“android.support.v7.widget.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代码中精确指定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未找到类“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代
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