ExpandableRecyclerView 项目教程
1. 项目的目录结构及介绍
ExpandableRecyclerView 项目的目录结构如下:
ExpandableRecyclerView/
├── app/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── hgdendi/
│ │ │ │ └── expandablerecyclerview/
│ │ │ │ ├── adapter/
│ │ │ │ ├── model/
│ │ │ │ ├── viewholder/
│ │ │ │ └── MainActivity.java
│ │ │ ├── res/
│ │ │ │ ├── layout/
│ │ │ │ ├── values/
│ │ │ │ └── ...
│ │ │ └── AndroidManifest.xml
│ │ └── test/
│ └── ...
├── library/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── drawthink/
│ │ │ │ └── expandablerecyclerview/
│ │ │ │ ├── adapter/
│ │ │ │ ├── bean/
│ │ │ │ ├── listener/
│ │ │ │ └── viewholder/
│ │ │ └── ...
│ │ └── ...
│ └── ...
├── build.gradle
├── settings.gradle
└── ...
目录结构介绍
app/
: 应用模块,包含应用的主要代码和资源。build.gradle
: 应用模块的构建脚本。src/
: 源代码目录。main/
: 主源代码目录。java/
: Java 源代码目录。com/hgdendi/expandablerecyclerview/
: 主要功能代码。adapter/
: 适配器相关代码。model/
: 数据模型相关代码。viewholder/
: ViewHolder 相关代码。MainActivity.java
: 主活动文件。
res/
: 资源文件目录。layout/
: 布局文件。values/
: 值资源文件。- ...
AndroidManifest.xml
: 应用清单文件。
test/
: 测试代码目录。
- ...
library/
: 库模块,包含可重用的库代码。build.gradle
: 库模块的构建脚本。src/
: 源代码目录。main/
: 主源代码目录。java/
: Java 源代码目录。com/drawthink/expandablerecyclerview/
: 库的主要功能代码。adapter/
: 适配器相关代码。bean/
: 数据模型相关代码。listener/
: 监听器相关代码。viewholder/
: ViewHolder 相关代码。
- ...
- ...
- ...
build.gradle
: 根项目的构建脚本。settings.gradle
: 项目设置文件。- ...
2. 项目的启动文件介绍
项目的启动文件是 MainActivity.java
,位于 app/src/main/java/com/hgdendi/expandablerecyclerview/
目录下。
MainActivity.java 文件介绍
package com.hgdendi.expandablerecyclerview;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.hgdendi.expandablerecyclerview.adapter.GenreAdapter;
import com.hgdendi.expandablerecyclerview.model.Genre;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;