RecyclerView最佳实践
来源:互联网 发布:合肥工业大学网络视频 编辑:程序博客网 时间:2024/06/10 22:08
添加空布局
private class EmptyStateAdapter extends RecyclerView.Adapter<MyViewHolder> { private static final int SIMPLE_ITEM = 1; private static final int EMPTY_ITEM = 2; private int itemCount = 0; @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView; switch (viewType) { case SIMPLE_ITEM: itemView = LayoutInflater.from(EmptyActivity.this) .inflate(R.layout.simple_item, parent, false); return new MyViewHolder(itemView); case EMPTY_ITEM: default: itemView = LayoutInflater.from(EmptyActivity.this) .inflate(R.layout.empty_item, parent, false); return new MyViewHolder(itemView); } } @Override public void onBindViewHolder(final MyViewHolder holder, int position) { switch (holder.getItemViewType()) { case SIMPLE_ITEM: holder.textView.setText("Item nr " + (position + 1) + ". Tap to remove."); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int itemPosition = holder.getAdapterPosition(); itemCount--; notifyItemRemoved(itemPosition); if (itemCount == 0) { notifyItemInserted(0); } } }); break; case EMPTY_ITEM: holder.refreshButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { notifyItemRemoved(0); itemCount = 10; notifyItemRangeInserted(0, 10); } }); break; } } @Override public int getItemViewType(int position) { return itemCount == 0 ? EMPTY_ITEM : SIMPLE_ITEM; } @Override public int getItemCount() { return itemCount == 0 ? 1 : itemCount; } }
阅读全文
0 0
- RecyclerView最佳实践
- RecyclerView 多类型Adapter的最佳实践
- 最佳实践
- 最佳实践
- 最佳实践
- RecyclerView 最佳入门
- RecyclerView的Adapter最佳实战
- ANT十五大最佳实践
- C 编程最佳实践
- J2EE 最佳实践
- 【笔记】EJb最佳实践
- JUnit最佳实践
- ANT十五大最佳实践
- JUnit最佳实践
- ANT十五大最佳实践
- ANT十五大最佳实践
- ANT十五大最佳实践
- JUnit最佳实践
- DOM知识块的笔记总结
- Tokenization in C++11
- Spring定时任务的几种实现
- python 类的继承与重载
- vue与angular和react框架原理对比小结及兼容性
- RecyclerView最佳实践
- 碎片化自我提升:为大学生推荐的优质APP
- 软件设计的切入点是什么?如何从最初的需求提取出一个粗粒度的软件结构?
- Vuforia AR SDK使用入门
- tomcat虚拟路径-外包路径-路径配置
- Twisted入门教程(6)
- 分支限界法
- bcc校验
- android开发之-FragmentTabHost的应用