ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android-recyclerview的简单使用

2021-01-12 23:05:49  阅读:207  来源: 互联网

标签:控件 recyclerview 适配器 list 简单 layoutmanager holder android


添加recyclerview的依赖,目前更新到了android.x下

implementation 'androidx.recyclerview:recyclerview:1.1.0'

一、简单实现listview效果

(一)、创建一个activity,在其xml布局文件中添加recyclerview标记,如图:
在这里插入图片描述
(二)、主页面进行逻辑设置,如图:
在这里插入图片描述
解释:
1.拿到控件
2,来一个线性的layoutmanager(可以设置他的方向)
3,赋给recyclerview——layoutmanager)
4.,给recyclerview来一个适配器

//        拿到控件
        mynote_recycler_list = findViewById(R.id.mynote_recycler_list);
//        来一个线性的layoutmanager
        LinearLayoutManager manager = new LinearLayoutManager(this);
//        通过setOrientation可以设置她的方向,这里我们不设
//        manager.setOrientation(LinearLayoutManager.HORIZONTAL);

//        给recyclerview赋予layoutmanager
        mynote_recycler_list.setLayoutManager(manager);
//        给recyclermanager设置适配器
//        mynote_recycler_list.setAdapter();

(三)、来设置适配器
1、建一个类,继承recyclerview.adapter
在这里插入图片描述
2、写出基本的三个方法
3、给该类来一个泛型(我们自己写的,继承recyclerview.viewholder)
在这里插入图片描述
4、oncreateviewholder方法中返回我们写的holder,其中需要一个上下文,我们声明一下,来一个构造函数。

在这里插入图片描述
5、我们写的holder中可以通过itemview来获取我们条目的控件

在这里插入图片描述
6、在onbindviewholder方法中,我们可以进行条目控件的操作在这里插入图片描述
7、因为recyclerview没有条目点击事件,我们可以通过我们的holder的itemview来注册一个监听事件进行相应操作,长按点击同理
在这里插入图片描述

 public void onBindViewHolder(@NonNull ListViewAdapter.MyHolder holder, int position) {
        holder.text_list_item.setText("这是第"+(position+1)+"条数据");
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(mcontext,"这是第"+(position+1)+"条数据",Toast.LENGTH_SHORT).show();
            }
        });
    }

8、getitemcount,该方法中定义条目数,我们暂且给死,来看看效果。

在这里插入图片描述
9、在主文件内设置好适配器
在这里插入图片描述
10、执行,效果如下
在这里插入图片描述

二、实现简单的gridview效果

与listview大同小异,只需修改layoutmanager即可
在这里插入图片描述
该句要两个参数,第一个即上下文,第二个则是每行要显示的个数。
为了相对而言较好的效果,我稍微改一下item。
在这里插入图片描述
运行看一下效果:
在这里插入图片描述

ps:recyclerview没有自带分割线,我们可以通过条目文件来实现,也可以通过java代码实现。

标签:控件,recyclerview,适配器,list,简单,layoutmanager,holder,android
来源: https://blog.csdn.net/Willow_Spring/article/details/112548919

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有