zoukankan      html  css  js  c++  java
  • 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<Forecast>) :
    RecyclerView.Adapter<MyAdapter.ViewListViewHolder>() {
       
      //新建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<TextView>(R.id.text_weekday_tem_one).apply {
    this.text = list[position].tmp_max + "°" + "/" + list[position].tmp_min + "°"
    this.typeface = MainActivity.getEnglishFontsOne()
    }

    holder.viewItem.findViewById<TextView>(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<ImageView>(R.id.image_weekday_one).apply {
    this.setImageResource(MyIconUtils.getWeatherIcon(list[position].cond_code_d))
    }
    }
    }

    
    
  • 相关阅读:
    World Wind Java开发之一(转)
    Excel如何显示隐藏列?
    Oracle开发›如何取出每个分组的第一条记
    如何解决EXCEL中的科学计数法
    使用POI 读取 Excel 文件,读取手机号码 变成 1.3471022771E10
    POI读取单元格信息及单元格公式
    java中判断字符串是否为数字的方法的几种方法
    阿里云OSS的 存储包、下行流量包、回流流量包 三者有啥关系
    vue+datatable+vue-resource动态获取jsonp数据2
    vue+datatable+vue-resource动态获取jsonp数据
  • 原文地址:https://www.cnblogs.com/xixiaohui/p/12787502.html
Copyright © 2011-2022 走看看