首页 > 其他分享 >RecyclearView的基本使用

RecyclearView的基本使用

时间:2022-12-12 00:22:14浏览次数:36  
标签:基本 RecyclearView itemView private id 使用 new itemBeans public

        <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/rcv"
        />

创建一个布局文件为Recylerview设置显示的格式
创建Adapter

public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {

    private List<ItemBean> itemBeans;
    private LayoutInflater layoutInflater;
    private Context context;

    public MyRecyclerAdapter(Context context , List<ItemBean> itemBeans){
        this.context = context;
        this.itemBeans = itemBeans;
        layoutInflater = LayoutInflater.from(context);
    }

    //创建ViewHolder
    @NonNull
    @Override
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        //实例化显示格式的布局文件
        View view = layoutInflater.inflate(R.layout.list_item_layout, parent, false);
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
        ItemBean itemBean = itemBeans.get(position);
        holder.textViewTitle.setText(itemBean.getTitle());
        holder.textViewBody.setText(itemBean.getContent());
        holder.relativeLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                
            }
        });


    }

    @Override
    public int getItemCount() {
        return itemBeans.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder{
        TextView textViewTitle;
        TextView textViewBody;
        ImageView imageView;
        //点击事件 (头id)
        RelativeLayout relativeLayout;
        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            textViewTitle = itemView.findViewById(R.id.tv_title);
            textViewBody = itemView.findViewById(R.id.tv_body);
            imageView = itemView.findViewById(R.id.iv_img);
            //点击事件
            relativeLayout = itemView.findViewById(R.id.rl_item_container);
        }
    }
}

Activity

    private RecyclerView recyclerView;
    private List<ItemBean> itemBeans;
    private MyRecyclerAdapter myRecyclerAdapter;
    private void initView() {
        recyclerView = findViewById(R.id.rcv);
    }
        private void initData() {
        //创建数组
        itemBeans = new ArrayList<>();
        //准备数据
        ItemBean itemBean1 = new ItemBean();
        itemBean1.setTitle("我是i但撒谎嗲是丢啊是大i撒谎的奥萨蒂还大还大阿萨");
        itemBean1.setContent("ldksudoijclxjd4fef51er35f1");
        //数据添加到数组中
        itemBeans.add(itemBean1);
    }
    private void initAdapter() {
        myRecyclerAdapter = new MyRecyclerAdapter(this,itemBeans);
        recyclerView.setAdapter(myRecyclerAdapter);
        //设置显示模式 有三种
        //线性布局 (第一个参数上下文、第二个显示的方向、第三个是否反转(从下往上))
        //LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false);
        //网格布局 (第一个参数上下文、第二个显示的格子几个、第三个是否反转(从下往上))
        //GridLayoutManager gridLayoutManager = new GridLayoutManager(this,2);
        //破布流布局 (第一个每行几个、第二个方向、)
        StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.HORIZONTAL);
        recyclerView.setLayoutManager(staggeredGridLayoutManager);
    }

标签:基本,RecyclearView,itemView,private,id,使用,new,itemBeans,public
From: https://www.cnblogs.com/loulan/p/16974847.html

相关文章

  • java基本语法(史上最全)
    java基本语法(史上最全)(一)关键字和保留字关键字的定义和特点定义:被java语言赋予了特殊含义,用作专门用途的字符串。特点:关键字中所有字母都为小写。关键字不能用作变量名,......
  • Element Ui使用技巧——Form表单的校验规则rules详细说明;element的 form 表单rules详
    介绍 Form组件提供了表单验证的功能,只需要通过rules属性传入约定的验证规则,并将Form-Item的prop属性设置为需校验的字段名即可。校验规则参见async-validator文档......
  • 最全ToString(“X2“)和ToString(“X“)详解含义及使用C#.ToString()格式大全
    ToString("X2")为C#中的字符串格式控制符大写X:ToString("X2")即转化为大写的16进制。小写x:ToString("x2")即转化为小写的16进制。2表示每次输出两位,不足2位的前面补0,如......
  • [Impala 使用注意]--调整对应的参数(cdh-5.8.x版本)
    Impala的可伸缩性注意事项本节介绍了您的群集大小和数据量如何影响Impala表的SQL性能和架构设计。通常,增加更多的群集容量可以减少由于内存限制或磁盘吞吐量而造成的问 另......
  • RocketMQ详细配置与使用
    一、MQ介绍1.1为什么要用MQ消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面1)应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建......
  • [笔记]Volatility 取证工具使用以及Hollow插件使用
    ​​Volatility内存取证使用​​文章目录​​前言​​​​环境​​​​使用Dumpit生成内存镜像​​​​使用VMware的内存镜像​​​​安装Volatility​​​​使用HollowFind......
  • MFC控件使用自己本地的字体文件
    MFC作为一套古老的框架,加载使用本地字体流程也很复杂,网上的资料大多也都不能直接运行。在参考了一些github上现有代码和古代代码之后,实现了加载本地字体文件并显示在指定控......
  • pg9.6使用索引
    使用索引索引是用于快速数据检索操作的结构。在数据库世界中,索引与表相关联并用于有效定位数据,而无需查询数据库表中的每一行。如果表没有索引,则需要全表扫描才能找到记录,这......
  • c# - Visual Studio会使用旧版本覆盖新版本的NewtonSoft.Json.DLL
    https://code-examples.net/zh-TW/q/1572f57您的csproj包含一個帶有Newtonsoft.Jsondll無效路徑的引用。在我的情況下,它是<HintPath>..\..\packages\Newtonsoft.Json\l......
  • golang error 使用
    前言在Go的编程中,error的使用场景数不胜数,主要就是用来处理各种异常情况.长久以来,我的使用方式都是这样的:err:=errors.New("fail")iferr!=nil{//dosom......