本文共 2687 字,大约阅读时间需要 8 分钟。
关注 ,免费获取全套安卓开发学习资料
RecyclerView是当前主流用于显示列表的UI控件.
implementation 'androidx.recyclerview:recyclerview:1.1.0'
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}
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 }}
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)}
关注头条号,第一时间获取最新文章:
转载地址:http://wzodf.baihongyu.com/