Android RecyclerView使用入門介紹
添加 recycler 依賴
前往 build.gradle 下,添加以下依賴:
implementation 'androidx.recyclerview:recyclerview:1.2.1'
設置單個列表項布局
眾所周知,一個完整的列表是由多個列表項組成的,而列表項可以使用布局文件進行定義;
我們簡單的使用線性布局+一個 tv 組件定義列表項;
下方為布局文件 items.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingRight="20dp"
android:paddingLeft="20dp">
<TextView
android:id="@+id/item_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:padding="15dp"
android:text="tools"
android:textColor="#353434"
android:textSize="20sp"/>
</LinearLayout>主布局中添加 recyclerview
添加方式和 listview 基本一致,很簡單:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>RecyclerAdapter
我們同樣需要編寫一個適配器來配置其對象關(guān)系;
新建適配器文件 RecyclerAdapter.kt
基本原理以及完善過程:
- 首先讓主類繼承
RecyclerView.Adapter,泛型使用本類中的我們自建的 viewholder 方法 - 我們自創(chuàng)的 viewholder 方法需要繼承
RecyclerView.ViewHolder - 我們在
MyViewHolder中直接獲取列表項中的TextView組件 - 與此同時,我們還需要實現(xiàn)三個方法
onCreateViewHolder:選擇使用哪一個 layout 作為 viewholder,并放回該 layout 組成的 viewholder
onBindViewHolder:針對 viewholder 內(nèi)部組件的一些賦值與處理操作
getItemCount:列表項需要渲染幾個?
class RecyclerAdapter(val context: Context) : RecyclerView.Adapter<RecyclerAdapter.MyViewHolder>() {
inner class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val textView: TextView = view.findViewById(R.id.item_text)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val itemView = LayoutInflater.from(context).inflate(R.layout.items, parent, false)
return MyViewHolder(itemView)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.textView.text = "this is $position"
}
override fun getItemCount(): Int {
return 40
}
}主 activity 注冊
初始化 recyclerview 的方式和 listview 差不多,只不過這里多設置了一個 layoutManager
依葫蘆畫瓢即可!
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
initRecycler()
}
fun initRecycler() {
val adapter = RecyclerAdapter(this)
val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)
recyclerView.adapter = adapter
val layoutManager = LinearLayoutManager(this)
layoutManager.orientation = RecyclerView.VERTICAL
recyclerView.layoutManager = layoutManager
}
}成果圖

到此這篇關(guān)于Android RecyclerView使用入門介紹的文章就介紹到這了,更多相關(guān)Android RecyclerView內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android開發(fā)ImageView圖片無法顯示解決過程
在Android中ImageView無法顯示加載的本地SDCard圖片:過程為先調(diào)用本地照相機程序攝像,然后將拍攝的圖片加載在ImageView中顯示,具體解決方法如下,感興趣的朋友可以參考下哈2013-06-06
Android常用的AlertDialog對話框及自定義對話框
本文主要介紹了android常用的AlertDialog對話框及自定義對話框的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04
Android開發(fā)中一個簡單實用的調(diào)試應用技巧分享
這篇文章主要跟大家分享了一個簡單實用的Android調(diào)試應用技巧,文中介紹的非常詳細,相信對大家具有一定的參考學習價值,需要的朋友下面來一起看看吧。2017-05-05

