android-recyclerview的简单使用

添加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代码实现。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值