安卓开发入门教程-UI控件_RecyclerView
发布日期:2021-06-29 18:30:13 浏览次数:2 分类:技术文章

本文共 2687 字,大约阅读时间需要 8 分钟。

关注 ,免费获取全套安卓开发学习资料

什么是RecyclerView

RecyclerView是当前主流用于显示列表的UI控件.

基础样例

效果图

方案简要介绍

  1. 在app模块build.gradle文件中增加如下依赖
implementation 'androidx.recyclerview:recyclerview:1.1.0'
  1. 在activity对应的布局文件中增加RecyclerView
  1. 新增一个Adapter用于展示列表中每一行内容(含对应布局文件)
    详见下面完整代码中的RvAdapter及其布局文件.
  2. 在activity中实例化Adapter,设置数据,并将adapter设置给RecyclerView
private fun initRecyclerView() {
var dataList = getData() val adapter = RvAdapter() adapter.setData(dataList) recyclerView.adapter = adapter recyclerView.layoutManager = LinearLayoutManager(this)}private fun getData(): List
{
val dataList = ArrayList
() for (index in 0 until 100) {
val text = " 数据$index " dataList.add(text) } return dataList}

完整代码

  1. activity代码:MainActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) initRecyclerView() } private fun initRecyclerView() {
var dataList = getData() val adapter = RvAdapter() adapter.setData(dataList) recyclerView.adapter = adapter recyclerView.layoutManager = LinearLayoutManager(this) } private fun getData(): List
{
val dataList = ArrayList
() for (index in 0 until 100) {
val text = " 数据$index " dataList.add(text) } return dataList }}
  1. MainActivity对应布局文件: activity_main.xml
  1. RecyclerView对应Adapter: RvAdapter
class RvAdapter : RecyclerView.Adapter
() {
private var mDataList = mutableListOf
() private lateinit var mContext: Context override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
mContext = parent.context val view = LayoutInflater.from(mContext).inflate(R.layout.item_layout, parent, false) return ViewHolder(view) } override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
val data = mDataList[position] //更新UI上nameTv展示内容 holder.itemView.nameTv.text = data //设置点击事件 holder.itemView.setOnClickListener {
Toast.makeText(mContext, data, Toast.LENGTH_SHORT).show() } } fun setData(dataList: List
) {
mDataList.clear() mDataList.addAll(dataList) notifyDataSetChanged() } override fun getItemCount(): Int = mDataList.size class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)}
  1. RvAdapter对应布局文件: item_layout.xml

基础样例完整源代码


安卓开发入门教程系列汇总

开发语言学习

UI控件学习系列

关注头条号,第一时间获取最新文章:

转载地址:https://cxyxy.blog.csdn.net/article/details/108048476 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:安卓开发入门教程-Activity
下一篇:安卓开发入门教程-UI控件_ListView

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月09日 16时28分31秒