kotlin,recyclerview写法

android studio版本在3.0以下的,要安装kotlin插件:


3.0以上的就不用安装插件了,在new项目的时候勾选kotlin就行了


然后在gradle文件里面就会看到kotlin了!

现在开始recyclerview写法!!有错的地方可以指导一下

class RecyclerViewAdapter(val list: List<User>) : RecyclerView.Adapter<RecyclerViewAdapter.ViewHodler>() {
    var mListener: ((pos:Int)->Unit)? =null

    override fun onBindViewHolder(holder: ViewHodler, position: Int){
        with(holder?.itemView!!){
            text?.text = list[position].name
            text2?.text = list[position].id
            image.setImageResource(list[position].icon!!)
            setOnClickListener { mListener ?.invoke(position) }
        }
    }

    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHodler{
        return ViewHodler(View.inflate(parent?.context,R.layout.layout_item,null))
    }

    override fun getItemCount() =list?.size
    class ViewHodler(item : View) : RecyclerView.ViewHolder(item)

    fun setOnItemClickListener(listener:(pos:Int )->Unit){
        mListener = listener
    }
}
看到id.text如果要实现这个简便的方法,就得加一个插件了:

apply plugin: 'kotlin-android-extensions'
gradle
文件要大于3.5以上才能使用

mainactivity

val list:ArrayList<User> = ArrayList()
    val adapter = RecyclerViewAdapter(list)
for (i in 0..20){
            val user = User()
            user.id = i.toString()
            user.name= "zhu"
            user.icon = R.mipmap.ic_launcher
            list.add(user)
        }
        recyc.layoutManager = GridLayoutManager(this,2)
        recyc.adapter = adapter
        adapter.setOnItemClickListener{
            pos ->
            Toast.makeText(this,adapter.list[pos].id,Toast.LENGTH_SHORT).show()
        }

基本就可以实现了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值