RecylcerView getItemViewType position一直是0
记录一下:
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相关推荐
- (仿头条APP项目)5.列表页面设计实现
文章目录 列表页面设计 效果图 具体实现 添加Glide依赖 添加主页面和两个列表布局 用GsonFormat快速创建NewListData实体类存放新闻列表数据 MyApi添加一个获取新闻列表的方法 ...
- 源码之ListView分析
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是List ...
- delphi listview 添加数据 慢_ListView 的缓存机制
一.前言 ListView 作为一个 Android 5.x 之前的一个用于显示数据列表的控件,或许在今天都已经被 RecyclerView 完全替代,但是其中的缓存机制仍然值得我们去了解,对后面学习 ...
- Android RecyclerView(八)设置自定义 下拉刷新 与 上拉加载数据
Android RecyclerView(八)设置下拉刷新 与 上拉加载数据 GitHub 项目源码 CSDN 博客说明 智慧安卓App 文章分析 下拉刷新效果 上拉加载数据效果 1 xml布局文件中 ...
- ListView和RecycleView的性能比对
ListView相比RecyclerView,有一些优点: addHeaderView(), addFooterView()添加头视图和尾视图. 通过"android:divider&quo ...
- Android之ListView展示多类型的条目
以前只写过单一类型的条目,今天学习了一下多类型条目的展示,为避免遗忘,为此在这里记录,写的解释都在代码里面,欢迎其他学习者学习参考: private class MyAdapter extends B ...
- 面试android开发工程师小结
5-25 今天面试了家公司,2个大神,差不多进行了1.5小时.不过最终还是没有录取,可能我的项目经验缺乏,能力不达标. 今天问的问题大致如下,凭记忆写的,反正就那样吧: 1.android servi ...
- Android开发知识(二十三)从源码角度分析ListView的滑动复用机制
文章目录 前言 认识RecycleBin机制 ListView的布局方式 ListView的元素创建流程 ListView滑动加载过程 前言 ListView作为一个常用的列表控件,虽然现在基本被Re ...
- Android开发实战《手机安全卫士》——11.“进程管理”模块拓展 窗体小部件 生成快捷方式
文章目录 1.进程管理--隐藏系统进程 2.进程管理--锁屏清理 3.拓展功能--生成快捷方式 4.高级工具--常用号码查询(布局实现) 5.高级工具--常用号码查询(逻辑实现) 6.拓展功能--窗体 ...
最新文章
- ABAP 一个隐藏 selection-screen block的实例
- python classmothed_python函数之classmethod()
- 复制(Copying)
- 首层nginx 传递 二级代理,三级代理......多级代理nginx 客户端真实IP的方法
- STL map与Boost unordered_map - 有何不可的日志 - 网易博客
- pushpop指令的操作数必须是字操作数_MCS-51单片机指令系统(1)
- 底层实现红黑树_【单选题】下列数据结构中,哪一个是ArrayList类的底层实现( )
A. 数组结构 B. 链表结构 C. 哈希表结构 D. 红黑树结构...
- 实现网站的国际化语言切换
- SPSS异方差检验的实现
- C++ 如何改变鼠标光标位置
- 华为路由器ospf路由表解读_华为路由如何建立OSPF网络详解
- eis电子防抖好还是光学防抖好_EIS和OIS有啥差别?一文搞懂手机防抖的那些事儿...
- php计数器归零,php计数器lt;?/*-一个简单的计数器*/functio 爱问知识人
- 有n堆石子,每次取出两堆合成一堆,每堆石子的个数即为合并石子所需要耗费的体力,求出合并所有石子堆所需要耗费的最小体力
- mysql 如何修改用户密码_如何更改MySQL用户密码
- 零知识证明:STARKs vs SNARKs
- 非结构化视频搜索技术
- java 判断是否信用卡_《Java语言程序设计》编程练习6.31(财务应用程序:信用卡号的合法性)...
- 替换雷劈网表单设计器使用的默认主题,使用neditor
- 计算机科学与技术杂谈
热门文章
- Latex的Table控制行间距
- list集合嵌套map集合遍历方法
- ThinkPHP保存微信昵称到MySql
- 移动端页面不需要在meta加_整理一下移动端的一些常用 meta
- 中国铁道科学研究院java开发_中国铁道科学研究院
- 2023.1.19单词打卡
- STM32-TFT-LCD触摸屏以及FSMC基础
- 梦幻跨服购买需要登录服务器未响应,梦幻西游8月4日定期维护公告:跨服购买限制放宽...
- cad延伸快捷键_26个英文字母、Ctrl+26个字母组合而成的CAD快捷键,F1-F11快捷键
- ONES X 华西证券|以需求全流程管控,洞见金融数据价值