Recylerview(list,九宫格,瀑布流布局)

2023-11-05

package com.example.recyclerview;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private List<String> list;
    private RecyclerView rv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rv = (RecyclerView) findViewById(R.id.rv);

        initRV();
    }
    //recylerview方法
    private void initRV() {
        //list集合
        initList();
        //得到适配器
        MyRecylerview recylerview = new MyRecylerview();
        //绑定
        rv.setAdapter(recylerview);
        //创建list布局管理器
        //LinearLayoutManager manager = new LinearLayoutManager(this);

        //创建九宫格布局管理器
        //GridLayoutManager manager = new GridLayoutManager(this,3);

        //创建瀑布了布局
        StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL);
        //Recylerview绑定布局管理器
        rv.setLayoutManager(manager);




    }
    //list集合
    private void initList() {
        list = new ArrayList<>();
        for (int i = 0; i <100 ; i++) {
            list.add("你说呢"+i);
        }
    }
    //适配器
    class MyRecylerview extends RecyclerView.Adapter<MyRecylerview.MyViewHolder>{


        @Override
        public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            //引入布局
            View view = View.inflate(MainActivity.this,R.layout.re1,null);
            MyViewHolder holder = new MyViewHolder(view);
            return holder;
        }

        @Override
        public void onBindViewHolder(MyViewHolder holder, int position) {
            //打印数据
                holder.tv1.setText(list.get(position));
        }

        @Override
        public int getItemCount() {

            return list ==null ? 0 : list.size();
        }

        //Viewhodler
        class  MyViewHolder extends RecyclerView.ViewHolder{
            TextView tv1;

            public MyViewHolder(View itemView) {
                super(itemView);
                tv1 = (TextView) itemView.findViewById(R.id.tv1);
            }
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Recylerview(list,九宫格,瀑布流布局) 的相关文章

随机推荐

  • STM32定时器重载值问题

    今天遇到stm32重载值设置为0后出现问题 不能将重载值设置为0
  • 软件测试必会之——数据库的DML操作

    DML 数据操纵语言 表中的数据进行操作的语言 增加数据 insert 删除数据 delete 修改数据 update 查找数据 select 最高的使用频率 一 DML数据操纵语言 数据操纵语言是对数据库对象中数据的操作 比如对数据进行增
  • 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

    机器学习算法与Python实践之 七 逻辑回归 Logistic Regression zouxy09 qq com http blog csdn net zouxy09 机器学习算法与Python实践这个系列主要是参考 机器学习实战 这本
  • 怎么建立一个自己的博客

    怎么建立一个自己的博客 1 写在开头 其实我自己写的文章也不多 只是看到有些东西会做一下记录 所以部署一个自己的博客来记录这些东西也就会方便很多 而Hexo框架的博客使用方便对电脑要求也不高 并且有很多可以使用的主题 所以就用它把 先来看看
  • 古典密码算法(移位密码算法、维吉尼亚算法)

    古典密码算法 凯撒 维吉尼亚 A 1 1 移位密码算法 实验目的 1 学习移位密码的原理 2 学习移密码的实现 实验原理 算法原理 a 移位密码就是对26个字母进行移位操作 可以移动任意位数 这样就实现了对明文的加密 移位操作简单易行 因此
  • MySQL参数之max_connections

    连接请求的变量 max connections MySQL的最大连接数 增加该值增加mysqld 要求的文件描述符的数量 如果服务器的并发连接请求量比较大 建议调高此值 以增加并行连接数量 当然这建立在机器能支撑的情况下 因为如果连接数越多
  • QTday1(第一个QT界面、常用类与组件)

    一 Xmind整理 Assistant帮助文档的使用 设计师界面的介绍 各文件之间调用方式 二 上课笔记整理 1 第一个QT界面 创建自定义类时需要指定父类 第一个界面的相关操作 include mainwindow h include
  • kafka常用运维命令

    列出所有topic bin kafka topics sh zookeeper localhost 2181 list 说明 其实就是去检查zk上节点的 brokers topics子节点 打印出来 创建topic bin kafka to
  • MatLab 隨機生成矩阵 复矩阵 单位下三角实矩阵 单位下三角复矩阵 矩阵求逆 矩阵乘法 matlab代码

    1 驗證 單位對角實矩陣的逆矩陣計算結果 2 驗證 單位對焦複矩陣的逆矩陣計算結果 n 7 real number field A rand n n L eye n for j 1 n L j 1 n j A j 1 n j end L L
  • ue4的UPROPERTY()

    继续学习B站的up主来自程序员的暴击的视频教程 我的理解就是属性 这个成员变量如何用 初步判断 只读和可读写 在myShowActor类里两个成员变量 UPROPERTY VisibleAnywhere Category Start int
  • 上海区块链会议演讲ppt_演讲和会议的软件开发人员指南

    上海区块链会议演讲ppt 软件开发会议提供了许多机会来促进您作为软件开发人员的职业发展 正如我们在网络一章中讨论的那样 参加会议可能是一个很好的网络机会 但是它们也是向该领域一些最高级程序员学习的好地方 但是 如果您真的想从软件开发会议中获
  • learn more study less:如何高效学习

    博主狂言 几句有用的话 两个序 前言 如何使用本书 整体性学习策略 learn more study less 什么是整体性学习 结构 模型 熟悉的结构成熟结构 高速公路 整体性学习的顺序 获取阶段 理解阶段 拓展阶段 纠错阶段 应用阶段
  • 适用于嵌入式单片机的差分升级通用库+详细教程

    文章目录 1 什么是差分 增量升级 2 差分升级实现原理 3 关键点一 差分包制作过程 4 关键点二 嵌入式设备中差分算法库的移植 还原差分包 4 1 移植开关算法库代码 4 2 使用该库的流程 4 2 1 使用库的接口 4 2 2 接口使
  • cvui.h 使用总结

    很多情况下个人更多用QT搭配opencv进行一系列开发 QT可以迅速开发出合乎要求的界面 但是实际上 试验过程中并不需要一个美观且功能齐全的界面 使用opencv进行图像处理 可能反反复复使用的是按键 勾选按钮 图片显示 参数修改或者显示等
  • rk3588 与 rk3399 差异比较

    rk3588 与 rk3399 差异比较 在2016年中 瑞芯微 Rockchip 在深圳会展中心召开首届VR生态链对接峰会 正式发布 VR 旗舰级产品 RK3399 在2021年底 瑞芯微 Rockchip 在福州第六届开发者大会 正式发
  • gradle wapper时异常(task with that name already exists)

    场景 新服务发布到测试环境打包失败 原因 1 种子项目配置了gradle版本 导入本地的时候选择使用项目的gradle Use default gradle wrapper recommended 2 直接在terminal里面输入 gra
  • IntelliJ IDEA 2017.3.1 使用手册

    因为CSDN博客时不时会报错 后续更新在 https my oschina net datadev blog 2876471 目录 1 激活 首次设置 2 创建maven项目 3 执行maven命令 4 创建maven moudle工程 5
  • mmyolo训练yolov5~ppyoloe

    使用mmyolo检测工具箱 完成yolo系列算法的训练 包括环境的搭建及yolo系列算法的配置文件等 mmyolo官方地址 https github com open mmlab mmdeploy 相关文档 https github com
  • 干货满满【JVM监控及诊断工具-GUI篇】

    JVM监控及诊断工具 GUI篇 3 1 工具概述 使用上一章命令行工具或组合能帮您获取目标Java应用性能相关的基础信息 但它们存在下列局限 1 无法获取方法级别的分析数据 如方法间的调用关系 各方法的调用次数和调用时间等 这对定位应用性能
  • Recylerview(list,九宫格,瀑布流布局)

    package com example recyclerview import android support v7 app AppCompatActivity import android os Bundle import android