【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
生活随笔
收集整理的這篇文章主要介紹了
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、添加支持庫
- 二、布局文件中使用 RecyclerView
- 三、自定義適配器
- 四、RecyclerView 設置流程
- 五、RecyclerView 完整 Java 代碼示例
一、添加支持庫
在 Module 中的 build.gradle 的 dependencies 中配置 RecyclerView 的依賴庫 ;
dependencies {implementation "androidx.recyclerview:recyclerview:1.1.0" }二、布局文件中使用 RecyclerView
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayoutxmlns: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.RecyclerViewandroid:id="@+id/recycler_view"android:scrollbars="vertical"android:layout_width="match_parent"android:layout_height="match_parent"/></androidx.constraintlayout.widget.ConstraintLayout>
三、自定義適配器
/*** RecyclerView 適配器*/public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> {/*** 初始化布局文件* @param parent* @param viewType* @return*/@NonNull@Overridepublic ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {View root_view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_recyclerview, parent, false);return new ViewHolder(root_view);}/*** 設置每個列表項的顯示內容* @param holder* @param position*/@Overridepublic void onBindViewHolder(@NonNull ViewHolder holder, int position) {holder.text.setText("" + position);}/*** 獲取列表項個數* @return*/@Overridepublic int getItemCount() {return 10;}/*** 布局容器*/public class ViewHolder extends RecyclerView.ViewHolder {TextView text;public ViewHolder(@NonNull View itemView) {super(itemView);text = itemView.findViewById(R.id.text);}}}
四、RecyclerView 設置流程
RecyclerView 設置流程 :
① 初始化 RecyclerView 對象 : 一般是從布局文件中獲取 ;
② 創建并設置布局管理器 : 可以使用預置的布局管理器 , 也可以自定義布局管理器 ;
③ 設置適配器 : 一般是使用自定義的適配器 , 設置給 RecyclerView 對象 ;
//1 . 從布局中獲取 RecyclerView RecyclerView recycler_view = findViewById(R.id.recycler_view);//2 . 創建并設置布局管理器 //創建布局管理器 LinearLayoutManager layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(RecyclerView.VERTICAL); //設置布局管理器 recycler_view.setLayoutManager(layoutManager);//3 . 創建并設置列表適配器 Adapter adapter = new Adapter(); recycler_view.setAdapter(adapter);
五、RecyclerView 完整 Java 代碼示例
package kim.hsl.recyclerview;import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView;import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//1 . 從布局中獲取 RecyclerViewRecyclerView recycler_view = findViewById(R.id.recycler_view);//2 . 創建并設置布局管理器//創建布局管理器LinearLayoutManager layoutManager = new LinearLayoutManager(this);layoutManager.setOrientation(RecyclerView.VERTICAL);//設置布局管理器recycler_view.setLayoutManager(layoutManager);//3 . 創建并設置列表適配器Adapter adapter = new Adapter();recycler_view.setAdapter(adapter);}/*** RecyclerView 適配器*/public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> {/*** 初始化布局文件* @param parent* @param viewType* @return*/@NonNull@Overridepublic ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {View root_view = LayoutInflater.from(MainActivity.this).inflate(R.layout.item_recyclerview, parent, false);return new ViewHolder(root_view);}/*** 設置每個列表項的顯示內容* @param holder* @param position*/@Overridepublic void onBindViewHolder(@NonNull ViewHolder holder, int position) {holder.text.setText("" + position);}/*** 獲取列表項個數* @return*/@Overridepublic int getItemCount() {return 10;}/*** 布局容器*/public class ViewHolder extends RecyclerView.ViewHolder {TextView text;public ViewHolder(@NonNull View itemView) {super(itemView);text = itemView.findViewById(R.id.text);}}}}
代碼地址 : https://github.com/han1202012/001_RecyclerView
總結
以上是生活随笔為你收集整理的【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Kotlin】Kotlin 委托 (
- 下一篇: 【Kotlin】Kotlin 单例 (