标签:控件 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。