记录一下:
https://blog.csdn.net/qq_26075861/article/details/86685293
在RecyclerView外层套上一层RelativeLayout即可

https://blog.csdn.net/Moonlighting_/article/details/52385267
@Override
protected void onMeasure(int widthSpec, int heightSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthSpec, expandSpec);
}

https://blog.csdn.net/the_spring/article/details/54236996
1.getItemCount()返回值<=0 ;
2.设置LayoutManager ;
3.被ScrollView嵌套
ok重点说一下第三点
recyclerview 25可以被scrollview嵌套,可以正常显示
recyclerview 23被scrollview嵌套时,无法正常显示

getItemCount()返回值<=0 ;肯定是对的。其他几个没有验证。
我再来补充一种情况:
由于我们经常会使用开源的第三方的RecycleView,并且我们可能还会把他的代码抄下来:
于是:

 @Overridepublic int getItemViewType(int position) {if (isRefreshHeader(position)) {return TYPE_REFRESH_HEADER;}if (isLoadMoreFooter(position)) {return TYPE_LOAD_MORE_FOOTER;}int adjPosition = position - 1;int adapterCount;if (adapter != null) {adapterCount = adapter.getItemCount();if (adjPosition < adapterCount) {int type = adapter.getItemViewType(adjPosition);if (isReservedItemViewType(type)) {throw new IllegalStateException("PullToRefreshRecyclerView require itemViewType in adapter should be less than 10000 ");}return type;}}return 0;}

比如PullRecyclerView的代码中,你的Adpater是被他wrap了一层的。
由于他默认认为有header,所以position固定-1。
这个问题,如果你遇到了类似的问题也可以往别人的源码中查一下。

https://my.oschina.net/caomenglong/blog/747197
https://github.com/amardeshbd/android-recycler-view-wrap-content

<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
tools:listitem="@layout/row_list_item">

        </android.support.v7.widget.RecyclerView></RelativeLayout>

mRecyclerView.setHasFixedSize(true);

    // use a linear layout managermLayoutManager = new LinearLayoutManager(getContext());mLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);mRecyclerView.setLayoutManager(mLayoutManager);// Disabled nested scrolling since Parent scrollview will scroll the content.mRecyclerView.setNestedScrollingEnabled(false);// specify an adapter (see also next example)mAdapter = new SimpleListAdapter(DataSetProvider.generateDataset());mRecyclerView.setAdapter(mAdapter);

RecylcerView getItemViewType position一直是0相关推荐

  1. (仿头条APP项目)5.列表页面设计实现

    文章目录 列表页面设计 效果图 具体实现 添加Glide依赖 添加主页面和两个列表布局 用GsonFormat快速创建NewListData实体类存放新闻列表数据 MyApi添加一个获取新闻列表的方法 ...

  2. 源码之ListView分析

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是List ...

  3. delphi listview 添加数据 慢_ListView 的缓存机制

    一.前言 ListView 作为一个 Android 5.x 之前的一个用于显示数据列表的控件,或许在今天都已经被 RecyclerView 完全替代,但是其中的缓存机制仍然值得我们去了解,对后面学习 ...

  4. Android RecyclerView(八)设置自定义 下拉刷新 与 上拉加载数据

    Android RecyclerView(八)设置下拉刷新 与 上拉加载数据 GitHub 项目源码 CSDN 博客说明 智慧安卓App 文章分析 下拉刷新效果 上拉加载数据效果 1 xml布局文件中 ...

  5. ListView和RecycleView的性能比对

    ListView相比RecyclerView,有一些优点: addHeaderView(), addFooterView()添加头视图和尾视图. 通过"android:divider&quo ...

  6. Android之ListView展示多类型的条目

    以前只写过单一类型的条目,今天学习了一下多类型条目的展示,为避免遗忘,为此在这里记录,写的解释都在代码里面,欢迎其他学习者学习参考: private class MyAdapter extends B ...

  7. 面试android开发工程师小结

    5-25 今天面试了家公司,2个大神,差不多进行了1.5小时.不过最终还是没有录取,可能我的项目经验缺乏,能力不达标. 今天问的问题大致如下,凭记忆写的,反正就那样吧: 1.android servi ...

  8. Android开发知识(二十三)从源码角度分析ListView的滑动复用机制

    文章目录 前言 认识RecycleBin机制 ListView的布局方式 ListView的元素创建流程 ListView滑动加载过程 前言 ListView作为一个常用的列表控件,虽然现在基本被Re ...

  9. Android开发实战《手机安全卫士》——11.“进程管理”模块拓展 窗体小部件 生成快捷方式

    文章目录 1.进程管理--隐藏系统进程 2.进程管理--锁屏清理 3.拓展功能--生成快捷方式 4.高级工具--常用号码查询(布局实现) 5.高级工具--常用号码查询(逻辑实现) 6.拓展功能--窗体 ...

最新文章

  1. ABAP 一个隐藏 selection-screen block的实例
  2. python classmothed_python函数之classmethod()
  3. 复制(Copying)
  4. 首层nginx 传递 二级代理,三级代理......多级代理nginx 客户端真实IP的方法
  5. STL map与Boost unordered_map - 有何不可的日志 - 网易博客
  6. pushpop指令的操作数必须是字操作数_MCS-51单片机指令系统(1)
  7. 底层实现红黑树_【单选题】下列数据结构中,哪一个是ArrayList类的底层实现( ) A. 数组结构 B. 链表结构 C. 哈希表结构 D. 红黑树结构...
  8. 实现网站的国际化语言切换
  9. SPSS异方差检验的实现
  10. C++ 如何改变鼠标光标位置
  11. 华为路由器ospf路由表解读_华为路由如何建立OSPF网络详解
  12. eis电子防抖好还是光学防抖好_EIS和OIS有啥差别?一文搞懂手机防抖的那些事儿...
  13. php计数器归零,php计数器lt;?/*-一个简单的计数器*/functio 爱问知识人
  14. 有n堆石子,每次取出两堆合成一堆,每堆石子的个数即为合并石子所需要耗费的体力,求出合并所有石子堆所需要耗费的最小体力
  15. mysql 如何修改用户密码_如何更改MySQL用户密码
  16. 零知识证明:STARKs vs SNARKs
  17. 非结构化视频搜索技术
  18. java 判断是否信用卡_《Java语言程序设计》编程练习6.31(财务应用程序:信用卡号的合法性)...
  19. 替换雷劈网表单设计器使用的默认主题,使用neditor
  20. 计算机科学与技术杂谈

热门文章

  1. Latex的Table控制行间距
  2. list集合嵌套map集合遍历方法
  3. ThinkPHP保存微信昵称到MySql
  4. 移动端页面不需要在meta加_整理一下移动端的一些常用 meta
  5. 中国铁道科学研究院java开发_中国铁道科学研究院
  6. 2023.1.19单词打卡
  7. STM32-TFT-LCD触摸屏以及FSMC基础
  8. 梦幻跨服购买需要登录服务器未响应,梦幻西游8月4日定期维护公告:跨服购买限制放宽...
  9. cad延伸快捷键_26个英文字母、Ctrl+26个字母组合而成的CAD快捷键,F1-F11快捷键
  10. ONES X 华西证券|以需求全流程管控,洞见金融数据价值