Android studio RecyclerView 应用设计

一、创建empty activity项目:

二、打开activity_main.xml布局文件:

添加RecyclerView控件

复制代码
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="1dp"
        tools:layout_editor_absoluteY="1dp" />
</androidx.constraintlayout.widget.ConstraintLayout>

三、新建子布局文件

四、修改子布局文件,添加item:

复制代码
<ImageView
    android:id="@+id/imageView"
    android:layout_width="32dp"
    android:layout_height="32dp"
    tools:srcCompat="@tools:sample/avatars" />

<TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="32dp"
    android:text="TextView" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="64dp"
    android:text="TextView" />

五、添加adapter:

六、MainActivity.java:

定义:

复制代码
private RecyclerView recyclerView;
private ProvinceAdapter provinceAdapter;
private List<Province> provinceList = new ArrayList<>();

初始化:

复制代码
recyclerView = findViewById(R.id.recyclerview);

String provinceName[] = {"北京","上海","天津","重庆",
                         "内蒙古","广西","宁夏","新疆","西藏",
                         "香港","澳门",
                         "河北","河南","山东","山西","辽宁",
                         "吉林","黑龙江","江苏","浙江","安徽",
                         "福建","江西","湖北","湖南","广东",
                         "海南","四川","贵州","云南","陕西",
                         "甘肃","青海","台湾"        };
String provincialCapital[] = {
        "北京","上海","天津","重庆",
        "呼和浩特","南宁","银川","乌鲁木齐","拉萨",
        "香港","澳门",
        "石家庄","郑州","济南","太原","沈阳",
        "长春","哈尔滨","南京","杭州","合肥",
        "福州","南昌","武汉","长沙","广州",
        "海口","成都","贵阳","昆明","西安",
        "兰州","西宁","台北"

};


for (int i = 0; i < 34; i++){
    Province province = new Province();
    province.name = provinceName[i];
    province.provincialCapital = provincialCapital[i];
    provinceList.add(province);
}

引用:

复制代码
provinceAdapter = new ProvinceAdapter();
recyclerView.setAdapter(provinceAdapter);
GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.this,2);
recyclerView.setLayoutManager(gridLayoutManager);
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this,DividerItemDecoration.HORIZONTAL);
recyclerView.addItemDecoration(dividerItemDecoration);

七、运行效果:

相关推荐
先跑起来再说3 小时前
Git 入门到实战:一篇搞懂安装、命令、远程仓库与 IDEA 集成
ide·git·后端·elasticsearch·golang·intellij-idea
lxysbly4 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首4 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节
LYOBOYI1236 小时前
vscode界面美化
ide·vscode·编辑器
消失的旧时光-19437 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
Jinkxs7 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&7 小时前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
LDORntKQH7 小时前
基于深度强化学习的混合动力汽车能量管理策略 1.利用DQN算法控制电池和发动机发电机组的功率分配 2
android
冬奇Lab7 小时前
Android 15 ServiceManager与Binder服务注册深度解析
android·源码·源码阅读
2501_916008899 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone