热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:androidx.recyclerview.widget.RecyclerView的使用方法

篇首语:本文由编程笔记#小编为大家整理,主要介绍了androidx.recyclerview.widget.RecyclerView的使用方法相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了androidx.recyclerview.widget.RecyclerView的使用方法相关的知识,希望对你有一定的参考价值。


首先需要在布局里添加一下组件


<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recipe_list_view"
android:layout_width
="match_parent"
android:layout_height
="match_parent"
android:layout_marginTop
="100dp">
androidx.recyclerview.widget.RecyclerView>

 

然后再代码中初始化


private lateinit var recyclerView: RecyclerView
private lateinit var viewManager: RecyclerView.LayoutManager
private lateinit var viewAdapter: RecyclerView.Adapter<*>


fun initListView() {
val viewManager = LinearLayoutManager(MyApplication.getContext())
viewManager.orientation = LinearLayoutManager.HORIZONTAL
this.viewManager = viewManager
viewAdapter = MyAdapter(forecast)

recyclerView = binding.recipeListView.apply {
layoutManager = viewManager
adapter = viewAdapter
setHasFixedSize(true)
}
}


//创建Adapt

class MyAdapter(var list: MutableList) :
RecyclerView.Adapter() {
   
  //新建ViewHolder
class ViewListViewHolder(var viewItem: View) : RecyclerView.ViewHolder(viewItem) {}

private val inflater: LayoutInflater =
MyApplication.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewListViewHolder {
var view = inflater.inflate(R.layout.forecast, parent, false)

return ViewListViewHolder(view)
}

override fun getItemCount(): Int {
return list.size
}

override fun onBindViewHolder(holder: ViewListViewHolder, position: Int) {

holder.viewItem.findViewById(R.id.text_weekday_tem_one).apply {
this.text = list[position].tmp_max + "°" + "/" + list[position].tmp_min + "°"
this.typeface = MainActivity.getEnglishFontsOne()
}

holder.viewItem.findViewById(R.id.text_weekday_one).apply {
val df = SimpleDateFormat("yyyy-MM-dd")
val date = df.parse(list[position].date)
this.text = SpUtils.getWeek(date)
this.typeface = MainActivity.getMyFonts()
}

holder.viewItem.findViewById(R.id.image_weekday_one).apply {
this.setImageResource(MyIconUtils.getWeatherIcon(list[position].cond_code_d))
}
}
}


 


推荐阅读
author-avatar
牛尾巴2010
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有