在fragment中更新RecyclerView视图的最常见方法是通过数据集合。您可以通过以下步骤更新RecyclerView视图:
1.首先,在您的fragment中创建adapter类,该类继承自RecyclerView.Adapter。
2.在adapter类中,实现onCreateViewHolder、onBindViewHolder和getItemCount等必要的方法。
3.在fragment中,将RecyclerView绑定到adapter。
4.创建一个ArrayList,该列表将存储要在RecyclerView中显示的数据。
5.在fragment中,更新ArrayList中的数据并通知适配器数据已更改。
以下是示例代码,演示如何将获得的数据添加到RecyclerView中:
class MyAdapter(private val myDataSet: ArrayList): RecyclerView.Adapter() {
class MyViewHolder(val textView: TextView): RecyclerView.ViewHolder(textView)
override fun onCreateViewHolder(parent: ViewGroup,
viewType: Int): MyAdapter.MyViewHolder {
val textView = LayoutInflater.from(parent.context)
.inflate(R.layout.my_text_view, parent, false) as TextView
return MyViewHolder(textView)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.textView.text = myDataSet[position]
}
override fun getItemCount() = myDataSet.size
}
class MyFragment : Fragment() {
private var myDataSet = ArrayList()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val view = inflater.inflate(R.layout.my_fragment, container, false)
// RecyclerView上下文
val recyclerView = view.findViewById(R.id.my_recycler_view)
recyclerView.layoutManager = LinearLayoutManager(context)
// 联系适配器到RecyclerView
val adapter = MyAdapter(myDataSet)
recyclerView.adapter = adapter
// 更新数据集合
myDataSet.add("第一项")
myDataSet.add("第二项")
myDataSet.add("第三项")
// 通知适配器数据已经更改,以更新RecyclerView。
adapter.notifyDataSetChanged()
return view
}
}