当前位置: 首页 > news >正文

recycleview列表多种样式,列表为空的设置,列表刷新

刷新列表:尽量使用:adapter.notifyItemRangeChanged(0,list.size()),或者类似方法,有动画;

adapter

public class Adapter2 extends RecyclerView.Adapter<Adapter2.ViewHolder2> { private final int TYPE_EMPTY = 0; private List<File2> items; private Context context; @Override public int getItemViewType(int position) { if (items.isEmpty()){ return TYPE_EMPTY; } return 1; } public Adapter2(List<OfflineFile2> items) { this.items = items; } @NonNull @Override public ViewHolder2 onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { context=parent.getContext(); if (viewType==TYPE_EMPTY){ View view = LayoutInflater.from(context) .inflate(R.layout.list_item_empty, parent, false); TextView tv=view.findViewById(R.id.empty_tv_hint); tv.setText("暂无文件"); return new ViewHolder2(view); } View view = LayoutInflater.from(context) .inflate(R.layout.item_file2, parent, false); return new ViewHolder2(view); } @Override public void onBindViewHolder(@NonNull ViewHolder2 holder, int position) { if (getItemViewType(position)==TYPE_EMPTY){ return; } File2 file = items.get(position); holder.bind(file, holder); } @Override public int getItemCount() { if (items.isEmpty()){ return 1; } return items.size(); } public class ViewHolder2 extends RecyclerView.ViewHolder { private TextView tvName; public ViewHolder2(@NonNull View itemView) { super(itemView); if (getItemViewType()==TYPE_EMPTY){ return; } tvName = itemView.findViewById(R.id.item_tv_name); } public void bind(File2 file, ViewHolder2 holder2) { if (file==null){ return; } // 设置文件名 tvName.setText(file.getName()); dealViewVisibleWithState(file); } } }
http://www.jsqmd.com/news/720266/

相关文章:

  • 2026工业监测新选择:听诊传感器多场景适用,哪个品牌效果好?看完这篇不踩坑 - 品牌策略主理人
  • BiliTools哔哩哔哩下载终极指南:三步搞定跨平台B站资源下载
  • Packet Tracer 中文语言包安装指南
  • 告别硬编码!若依框架Excel导入导出动态关联字典表,运维再也不用催我改代码了
  • 2026 全自动咖啡机选择哪家?热门品牌与机型推荐 - 品牌2026
  • 什么防晒霜肤感清爽不闷痘?清爽不闷痘不踩雷,5款高口碑防晒闭眼囤就对了 - 全网最美
  • doris数据库数据均衡迁移问题
  • 2026年测定粘结指数标准无烟煤企业推荐:基于综合评估 - 深度智识库
  • 告别时间漂移:手把手教你用C语言和Winsock实现一个简易NTP客户端(附完整源码)
  • 毕业设计精选【芳心科技】基于单片机的刷卡占座座椅
  • 兴源吸塑包装专业可靠,为行业发展添砖加瓦
  • SSDTTime黑苹果配置终极指南:5分钟搞定DSDT自动补丁
  • MATLAB小白也能搞定:用FFT快速模拟菲涅尔圆孔衍射(附完整代码和参数调优心得)
  • Java Web:DispatcherServlet
  • phy_simulators之nr_pbchsim之PBCH-DMRS
  • 提升文件管理效率的终极解决方案:QuickLook文件夹预览插件
  • 邦芒忠告:新人初入职场谨防“八件事”
  • Win11Debloat:让Windows系统恢复流畅的终极优化指南
  • Winhance中文版:你的Windows系统优化终极指南 [特殊字符]
  • Linux新手必看:手把手教你搞定Realtek RTL8821CU USB无线网卡驱动(含Ubuntu 22.04实战)
  • 【锂电池】锂离子电池RC二阶等效电路递推最小二乘法在线参数辨识simulink(附参考文献)
  • 军训晒不黑的防晒推荐,防晒黑绝绝子!6款不暗沉防晒天菜 - 全网最美
  • 2026年十大央国企AI+场景标杆案例集
  • 3DMAX模型转Web 3D?用Max2Babylon插件导出glTF的完整避坑指南
  • 告别配置恐惧:手把手教你用ETAS ISOLAR配置AUTOSAR DcmDsp(附避坑清单)
  • 架构实战:分布式 机器人梯控 系统的边缘解耦与状态机设计
  • 绍兴昱泽吊装:绍兴登高车租赁哪家好 - LYL仔仔
  • 如何在Blender中轻松导入和导出Sketchfab模型:完整插件使用指南
  • PHP 8.9错误日志智能分级实战(含PSR-3兼容方案),告别ERROR/WARNING混杂的运维噩梦
  • 你的 Agent 服务是如何保证高可用和稳健性的?