zoukankan      html  css  js  c++  java
  • 在Eclipse中使用RecyclerView(一)

    AndroidStudio中使用RecyclerView很方便,在build.gradle文件中进行配置,引入该类即可。

    compile 'com.android.support:recyclerview-v7:23.4.0'

    现在项目中需要使用到RecyclerView,但是这个项目之前是使用Eclipse开发的,如果再切换到AndroidStudio比较麻烦,直接引入

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    直接这样使用的时候,App崩溃,出现下面的异常提示:

    02-23 09:08:51.449: E/AndroidRuntime(10543): Caused by: android.view.InflateException: Binary XML file line #87: Error inflating class android.support.v7.widget.RecyclerView

    有点奇怪,明明有导入android-support-v7-appcompat这个Library,在其它地方使用这个包里的控件是正常的,为什么使用RecyclerView就不行呢?

    在网上查了一些资料,发现如果需要在Eclipse中使用RecyclerView,目前只能使用21.0.0版本,因为在此之后的版本RecyclerView配置了attr文件,而Eclipse不支持这种文件格式。

    我们需要找到21.0.0版本对应的recyclerview.jar文件,怎么样查找呢?
    以我的笔记本为例,路径是:
    E:AndroidToolsAndroidStudiosdkextrasandroidm2repositorycomandroidsupport ecyclerview-v721.0.0,找到这个目录下recyclerview-v7-21.0.0.aar文件。
    路径

    将recyclerview-v7-21.0.0.aar文件后缀名改为.rar,然后解压,里面的classes.jar就是recyclerview对应的jar包。

    把jar包放入项目中的libs文件夹下,就可以使用RecyclerView了。为了方便,重命名为android-support-v7-recyclerview.jar。

    导入jar包之后,没有出现之前那个异常,但App还是挂掉,异常提示信息如下:

    02-23 11:19:34.589: E/AndroidRuntime(15163): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7.widget.RecyclerView$State, int, int)' on a null object reference

    空指针异常?这是没有设置LayoutManager的缘故,设置完之后就可以正常运行了。

    LinearLayoutManager layoutManager = new LinearLayoutManager(mContext);
    layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
    rvView.setLayoutManager(layoutManager);

    到这里,终于可以正常使用RecyclerView了。

    谢谢同志们的的分享,参考资料:
    http://blog.csdn.net/w815878564/article/details/52947650
    http://blog.csdn.net/t_an123/article/details/51733188

  • 相关阅读:
    了解教育网访问情况
    .NET开源社区存在的问题
    欢迎大家谈谈Windows Live Mail desktop的使用感受
    [公告]新版排行榜页面发布
    国外技术新闻[来自Digg.com]
    首页小改进
    [SQL Server 2005]String or binary data would be truncated
    Linux获得真正3D桌面 开源支持者喜不自禁
    新版 .net开发必备10大工具
    使用新类型Nullable处理数据库表中null字段
  • 原文地址:https://www.cnblogs.com/lishbo/p/9956011.html
Copyright © 2011-2022 走看看