Android kotlin使用RecyclerView实例


class InternentBarEntity {



    var bname: String? = null

    var barea: String? = null

    var badddata: String? = null

    var bimage: String? = null

    var bid: String? = null

}

2、创建adapter类


/\*\*

 \*作者:created by meixi

 \*邮箱:15913707499@163.com

 \*日期:2019/5/29 10

 \*/

class InternetBarAdapter( private val entityList: List<InternentBarEntity>) : RecyclerView.Adapter<InternetBarAdapter.ViewHolder>() {

    private var mOnItemClickListener: OnItemClickListener? = null



    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {

        val view = LayoutInflater.from(parent.context).inflate(R.layout.tab\_item, null)

        return ViewHolder(view)

    }



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

        val entity = entityList\[position\]



        try {

            holder.item\_intnbname.text = entity.bname



        } catch (e: Exception) {

            e.printStackTrace()

        }



        //判断是否设置了监听器

        if (mOnItemClickListener != null) {

            //为ItemView设置监听器-

            holder.itemView.setOnClickListener {

                val position = holder.layoutPosition // 1

                mOnItemClickListener!!.onItemClick(holder.itemView, position) // 2

            }



        }

    }



    override fun getItemCount(): Int {

        return entityList.size

    }



    inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {



        var item\_intnbname = itemView.findViewById(R.id.tab\_tv) as TextView



    }



    //  删除 打勾 全选

    fun cleckAll(is\_checked: Int) { //全选 删除多少那里要删除全部

        for (a in entityList.indices) {

            if (is\_checked == a) {

                entityList.get(a).bname = "选中了"

            } else {



            }

        }

        notifyDataSetChanged()

    }



    interface OnItemClickListener {

        fun onItemClick(view: View, position: Int)

    }



    fun setOnItemClickListener(onItemClickListener: OnItemClickListener) {

        this.mOnItemClickListener = onItemClickListener

    }

}

3、添加recyclerview依赖


compile('com.android.support:recyclerview-v7:25.1.1') {

    force = true

}

4、加载数据实现kotlin 代码



private val barEntityList = ArrayList<InternentBarEntity>()

private var barAdapter: InternetBarAdapter? = null

private var lastposion: Int = 0

private var pagenum = 1

private var pageContent:Int = 0

private var pageSize = 10


  public fun initrecycleView(){



        var internentBarEntity2:InternentBarEntity= InternentBarEntity()

        internentBarEntity2.badddata = "地址122"

        internentBarEntity2.bname="名称111222"



        barEntityList.add(internentBarEntity2)



        for (a in 0..19) {

            var internentBarEntity:InternentBarEntity=InternentBarEntity()

            internentBarEntity.badddata = "地址1"

            internentBarEntity.bname="名称111=="+a

            barEntityList.add(internentBarEntity)

//            if (a==6){

//                break

//            }

        }



        barAdapter = InternetBarAdapter( barEntityList)



        barAdapter!!.setOnItemClickListener(object : InternetBarAdapter.OnItemClickListener {

            override fun onItemClick(view: View, position: Int) {

                barAdapter!!.cleckAll(position)

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值