RecyclerView简单实用
来源:互联网 发布:淘宝外用增大药有用吗 编辑:程序博客网 时间:2024/06/01 11:51
RecyclerView适配器,继承的我自己的类的viewholder。继承RecyclerView.ViewHolder也可以。简单的布局没有多条目展示的都可以继承自己类的viewholder。布局我就不粘啦。
导包
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
public class Myadapter extends RecyclerView.Adapter<Myadapter.ViewHolder> { private List<User> list;//获得控件id static class ViewHolder extends RecyclerView.ViewHolder { ImageView imageView; TextView textView; public ViewHolder(View itemView) { super(itemView); textView = itemView.findViewById(R.id.text); imageView = itemView.findViewById(R.id.images); } } public Myadapter(List<User> user) { this.list = user; } //创建ViewHolder实例 @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //加载布局 View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview, parent, false); ViewHolder holder = new ViewHolder(view); return holder; } //用于对RecyclerView子项的数据进行赋值 @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.textView.setText(list.get(position).getName()); holder.imageView.setImageResource(list.get(position).getIm()); } @Override public int getItemCount() { return list.size(); }}
MainActivity类
private List<User> list = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //添加数据 loadData(); //获取id RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(linearLayoutManager); Myadapter adapter = new Myadapter(list); recyclerView.setAdapter(adapter); } private void loadData() { User u1 = new User("a", R.drawable.a); User u2 = new User("g", R.drawable.g); User u3 = new User("b", R.drawable.b); User u4 = new User("c", R.drawable.c); User u5 = new User("d", R.drawable.e); User u6 = new User("e", R.drawable.f); User u7 = new User("f", R.drawable.h); list.add(u1); list.add(u2); list.add(u3); list.add(u4); list.add(u5); list.add(u6); list.add(u7); }
User的属性
public class User { private String name; private Integer im; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getIm() { return im; } public void setIm(Integer im) { this.im = im; } public User(String name, Integer im) { this.name = name; this.im = im; }}
效果图
实现刷新加载
在之前的基础上添加以下代码就可以了。跟xlistview的使用基本相似。
需要到的jar包:
compile 'com.jcodecraeer:xrecyclerview:1.3.2'
导完后这个 compile ‘com.android.support:appcompat-v7:26.+’会报错,不用管它不妨碍运行
public class MainActivity extends AppCompatActivity **implements XRecyclerView.LoadingListener** { private List<User> list = new ArrayList<>(); **private XRecyclerView recyclerView;** **int page = 0;** private Myadapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //添加数据 loadData(); **//获取id recyclerView = (XRecyclerView) findViewById(R.id.x_recyc); // 对XRecycleView设置可以加载和刷新 recyclerView.setLoadingListener(this); recyclerView.setPullRefreshEnabled(true); //设置刷新风格 recyclerView.setLoadingMoreProgressStyle(ProgressStyle.BallPulseRise);** LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(linearLayoutManager); adapter = new Myadapter(list); recyclerView.setAdapter(adapter); } private void loadData() { User u1 = new User("a", R.drawable.a); User u2 = new User("g", R.drawable.g); User u3 = new User("b", R.drawable.b); User u4 = new User("c", R.drawable.c); User u5 = new User("d", R.drawable.e); User u6 = new User("e", R.drawable.f); User u7 = new User("f", R.drawable.h); list.add(u1); list.add(u2); list.add(u3); list.add(u4); list.add(u5); list.add(u6); list.add(u7); } **@Override public void onRefresh() { //清空集合 list.clear(); page = 1; loadData(); recyclerView.loadMoreComplete(); recyclerView.refreshComplete(); adapter.notifyDataSetChanged(); } @Override public void onLoadMore() { page++; loadData(); recyclerView.loadMoreComplete(); recyclerView.refreshComplete(); adapter.notifyDataSetChanged(); }**}
阅读全文
0 0
- RecyclerView简单实用
- Android---RecyclerView简单实用(上)
- 安卓RecyclerView的简单实用
- Android---RecyclerView简单实用(下)之横向水平滚动
- Android Recyclerview 简单实用 瀑布流等方式,并加入上下拉加载
- 简单实用
- RecyclerView简单详解
- RecyclerView的简单使用
- RecyclerView 的简单使用
- recyclerview的简单使用
- Recyclerview的简单使用
- RecyclerView的简单使用
- 简单说一下RecyclerView
- RecyclerView简单使用
- RecyclerView简单使用
- RecyclerView的简单用法
- RecyclerView的简单使用
- RecyclerView的简单使用
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法
- BZOJ 4521: [Cqoi2016]手机号码 数位dp
- 软件工程考试题
- Ubuntu14.04下安装jdk1.8+eclipse(JEE版)
- J2EE学习笔记(三)之重定向、转发、超链接及表单提交的区别和路径
- RecyclerView简单实用
- 解决 父层div和子层div点击事件冲突 (冒泡触发的小方法)
- HTML的严格模式和混杂模式
- JSON字符串与JSON对象的区别
- 第一次面试sgw总结
- hdu6103-暴力
- 3361-数据结构实验之图论四:迷宫探索
- retrofit http取消请求
- Vin码识别-车架号识别为APP功能增添亮点