RecyclerView,是在v7包加入的,一个灵活的view可以展示巨大的数据集,类似于listview的viewholder复用已经优化好了。

语言是苍白的,代码是最生动的叙说:

布局:

<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".ui.main.MainActivity"android:padding="12dp"android:orientation="vertical"><android.support.v7.widget.RecyclerViewandroid:id="@+id/recycler"android:layout_width="match_parent"android:layout_height="match_parent"android:overScrollMode="never"android:clipToPadding="false"/><ProgressBarandroid:id="@+id/progress"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:visibility="gone"/></FrameLayout>

  

adapter:

package com.escorps.retrodagger.adapter;import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.escorps.retrodagger.R;
import com.escorps.retrodagger.models.PetModel;
import java.util.List;
import butterknife.ButterKnife;
import butterknife.InjectView;public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>{private List<PetModel> items;public void setItems(List<PetModel> items){this.items = items;}@Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_recycler, parent, false);return new ViewHolder(v);}@Override public void onBindViewHolder(final ViewHolder holder, int position) {final PetModel item = items.get(position);holder.textName.setText(item.getName());holder.itemView.setTag(item);}@Override public int getItemCount() {return items.size();}protected static class ViewHolder extends RecyclerView.ViewHolder {@InjectView(R.id.textName) TextView textName;public ViewHolder(View itemView) {super(itemView);ButterKnife.inject(this, itemView);}}}

View Code

注意在使用adapter之前: recyclerView.setLayoutManager(new GridLayoutManager(this, 1));

转载于:https://www.cnblogs.com/spring87/p/4458700.html

RecyclerView 小记相关推荐

  1. Android Studio初学者实例:RecyclerView学习--模仿今日头条

    本案例来自于学校的一个简单的课程实验 先看效果图,可以显然的看到,一些item是不同的布局,而其他布局就是简单的布局嵌套 看一下xml代码: <?xml version="1.0&qu ...

  2. Android RecyclerView(和SnapHelper) 实现类似ViewPager的效果

    实现的效果图如下 2 行代码就实现了,其余的都是recyclerview 的代码 如果不显示一次可以滑动多个的话可以使用LinearSnapHelper 具体代码如下(实际就2行代码呢) recycl ...

  3. android RecyclerView 添加可拖动的滚动条

    实现的效果图如下,为了效果这里我设置的宽了一些,实际根据需求修改即可 先说几个属性: android:scrollbars" 一般都是垂直的滚动条设置vertical android:scr ...

  4. RecyclerView 判断滑动到顶部和底部

    可以使用系统提供的 canScrollVertically 方法来判断 具体如下 recycler_view.addOnScrollListener(new RecyclerView.OnScroll ...

  5. RecyclerView 刷新的时候出现阴影的处理方法

    这个阴影是RecyclerView 的问题引起的 处理方法如下 recyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER); 这样阴影就消失了.

  6. RecyclerView 删除Item 以及删除整个RecyclerView

    学而时习之,温故而知新. 今天用到了,居然忘记了,好尴尬,这里深夜了也在记录下, 1 删除整个RecyclerView hisList.clear();hisAdapter.notifyDataSet ...

  7. 2个RecyclerView 联动

    看下效果图, 底部在给出demo地址 如果想实现类似拼多多的商品联动也是可以的,修改方法即可 下面看下实现方法 几个参数需要知道 findFirstVisibleItemPosition 显示界面第一 ...

  8. RecyclerView 滑动显示返回按钮,点击返回到顶部

    底部有demo 地址*************************** 需要提前知道一些只是 RecyclerView.SCROLL_STATE_IDLE 是RecyclerView 滑动停止状态 ...

  9. RecyclerView smoothScrollToPosition 和 scrollToPosition 的区别

    smoothScrollToPosition  是平衡的滑动 , 假如现在返回首页 recyclerView.smoothScrollToPosition(0); 看下效果图 scrollToPosi ...

最新文章

  1. 【转载】RPA如何自动化SAP系统?
  2. LINUX系统中动态链接库的创建与使用
  3. Linux PXE批量网络装机与Kickstart 无人值守安装
  4. 图论中的基础概念总结
  5. LeetCode 513. 找树左下角的值(按层遍历 queue)
  6. 线程池很难么?带你从头到尾捋一遍,不信你听不懂!
  7. 获取map中的一个value值以及遍历map获得map里所有key、value的值
  8. unity4.6 failed to update unity web player
  9. 基于SSM的社区宠物信息管理系统
  10. 水电缴费系统php源码_php水电费缴费管理系统
  11. 系列学习 Gateway 之第 1 篇 —— SpringCloud Gateway 简介,Gateway 入门实例
  12. 在职读研难,社科院与杜兰大学金融管理硕士项目让读研多了一种选择
  13. 损坏的映像 错误0xc0000020
  14. EF-AsNoTracking()
  15. 1.1到底什么是云计算
  16. It‘s highly recommended that you fix the library with ‘execstack -c <libfile>‘, or link it with ‘-z
  17. 小区规划开发商想妻子的谎言改就能改(图)2015年05月02
  18. JAVA-基础 -异常
  19. 网页端封装生成app移动端,是开发者的热门趋势
  20. 修改你的 Debian 系统语言

热门文章

  1. 在后台中高效工作 – 后台任务
  2. 四种常见 Git 工作流比较
  3. Python小笔记——urllib2得到重定向最终链接
  4. redmine-project.net vs redmine vs trac vs apis项目管理软件选型比较
  5. 超图Cesium量算
  6. bash脚本编程入门_Bash编程入门
  7. 智利可以使用支付宝嘛?_智利的水电和输电规划使用开源地理空间工具
  8. 实战 | WebMagic 爬取某保险经纪人网站经纪人列表之网站列表爬取
  9. DOM概述 选取文档元素 1
  10. linux java services_在Linux上将Java应用程序作为服务运行