啊,关于RecyclerView的帖子讲的实在是太详细太繁琐了,
(相关资料图)
我这里弄一个最简单的,要做复杂的东西也是从简单的开始!
用到的东西分4块
· RecyclerView XML布局
Activity 的设置代码
Adapter 设置RecyclerView 里面的实质内容
Adapter 使用到的布局文件
1 首先是布局,直接复制拿走把,可以随便改
<
android:id="@+id/rv_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
------------我是分割线------------------------
2 Activity部分代码 就是声明一些变量 然后一个函数方法
private RecyclerView mRecycleView;
private NewAdapter mAdapter;//适配器
private LinearLayoutManager mLinearLayoutManager;//布局管理器
private List mList;
Context mContext;
private void SetRecycleView() {
mList = new ArrayList();
// 这里是数据,可以根据实际需要来修改类型 改了之后 取的部分跟着修改就好
for (int i = 0; i < 5; i++) {
("" + i);
}
mRecycleView = (RecyclerView) findViewById(_list);
//创建布局管理器,垂直设置,水平设置
mLinearLayoutManager = new LinearLayoutManager(this, , false);
//创建适配器,将数据传递给适配器
mAdapter = new NewAdapter(mList, mContext);
//设置布局管理器
(mLinearLayoutManager);
//设置适配器adapter
(mAdapter);
}
------------我是分割线------------------------
/**
* 切换数据 这里放个切换刷新的方法 就是更改mList 后调用notifyDataSetChanged
* 没这需要的可以无视这个方法
*/
private void Switch() {
();//清除数据
();//刷新RecycleView
}
------------我是分割线------------------------
3 Adapter 部分 你可以在这里更改对应的布局,对应的数据,对应的点击事件等等
public class NewAdapter extends <> {
private List mList;//数据源
Context mContext;
public NewAdapter(List list, Context mContextS) {
mList = list;
mContext = mContextS;
}
//创建ViewHolder并返回,后续item布局里控件都是从ViewHolder中取出
@Override
public onCreateViewHolder(ViewGroup parent, int viewType) {
//将我们自定义的item布局_one转换为View
View view = (())
.inflate(_new_adapter, parent, false);
//将view传递给我们自定义的ViewHolder
holder = new (view);
//返回这个MyHolder实体
return holder;
}
//通过方法提供的ViewHolder,将数据绑定到ViewHolder中
@Override
public void onBindViewHolder( holder, int position) {
((position).toString());
}
//获取数据源总的条数
@Override
public int getItemCount() {
return ();
}
/**
* 自定义的ViewHolder
*/
class MyHolder extends {
TextView tv1;
public MyHolder(View itemView) {
super(itemView);
tv1 = ();
(new () {
@Override
public void onClick(View view) {
}
});
}
}
}
------------我是分割线------------------------
4 Adapter 对应的布局文件,当然你新建一个也是可以,
我这里只列了一个TextView,一般需求都要自己修改 ID对得上,能取到修改就没问题了
<?xml version="" encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="2023/0605"
android:textColor="#000000"
android:textSize="@dimen/text_1"
android:textStyle="bold" />
</LinearLayout>