Android 学习记录
RecycleView 使用
文章目录
一、RecycleView使用步骤
说明
本文中所有代码均使用的是 Kotlin 语言
1.新建fragment相关文件。
1.1 新建fragment类文件。
class MyFragment():Fragment(R.layout.recycleview_fragment){
}
1.2 新建一个recycleview_line.xml 文件
内部实现RecycleView中需要显示的每一部分的信息。
1.3 新建一个recycleview_fragment.xml 文件
内部需要创建一个RecycleView的标签
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/reycleview_area"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
2.在fragment中重写onViewCreated函数
2.1 为layoutManager赋值
纵向布局
//纵向布局
recycle_view.layoutManager = LinearLayoutManager(Context, RecycleView.VERTICAL, false)
横向布局
//横向布局
recycle_view.layoutManager = LinearLayoutManager(Context, RecycleView.HORIZONTAL, false)
2.2 为adapter赋值
代码如下(示例):
recycle_view.adapter = MyAdapter()
3. 新建MyAdapter内部类并重写相关方法
代码如下(示例):
//新建内部类,继承自Adapter.
inner class MyAdapter : Adapter<MyViewHolder>(){
//重写MyAdapter类的onCreateViewHolder方法, 返回MyViewHolder对象
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder{
var view = LayoutInflater.from(context).inflate(R.layout.recycleview_line, parent,false)
return MyViewHolder(view)
}
//重写getItemCount方法, 该方法返回RecycleView中显示内容的个数
override fun getItemCount(): Int {
return 20
}
//重写onBindViewHolder 方法, 该方法用于绑定RecycleView中没条内容的具体数据。
override fun onBindViewHolder(holder: MyViewHolder, position: Int){
//holder 为当前显示的行内容, position为当前显示的序号。
holder.itemView.recycleview_test_Head.text = "RecycleView"
holder.itemView.recycleview_test_Info.text = "just test"
}
}
4. 新建MyViewHolder类
MyViewHolder 类继承自RecycleView.ViewHolder,此类无需实现任何方法
<font color=#999AAA >代码如下(示例):
class MyViewHolder(view:View):RecycleView.ViewHolder(view){
}
总结
RecycleView 使用需要分为 5大步骤:
- 新建一个recycleview_line.xml 文件,内部实现每行/列 需要显示的内容。
- 新建一个recycleview_fragment.xml 用于绑定到fragement类中。
- 新建一个fragment类,重写onViewCreated方法。内部实现layoutManager及adapter的赋值。
- 新建一个内部MyAdapter类继承自RecycleView.Adapter,重写getItemCount(),onCreateViewHolder(),onBindViewHolder() 等方法。
- 新建一个MyViewHolder继承自RecycleView.ViewHolder。