android-recyclerview的简单使用

ps:目前我没发现在哪里引用代码,所以排版不太清楚。觉得不清楚的请看我的CSDN博客我的博客

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

你可能感兴趣的:(android-recyclerview的简单使用)