美文网首页
ItemBinding获取position的三种方式

ItemBinding获取position的三种方式

作者: 千夜零一 | 来源:发表于2021-06-24 10:46 被阅读0次

    第一种方式:

    //viewModel中
     fun onItemClick(item: Item){
            val position = items.indexOf(item)
     }
    //布局中:
    android:onClick="@{()->viewModel.onItemClick(item)}"
    

    第二种方式:

    布局中直接获取当前position:

    viewModel.items.indexOf(item)
    

    第三种方式:

    //布局中dataBinding
    <variable
        name="position"
        type="Integer" />
    
    /**
     * 第三种方式:viewModel中
     * 通过注入方式把position传递进布局
     */
    var itemBinding = ItemBinding.of<Item> { itemBinding, position, item ->
        itemBinding.bindExtra(BR.position, position)
            .set(BR.item, R.layout.scroll_tab_body)
            .bindExtra(BR.viewModel, this@TabViewModel)
    }
    

    相关文章

      网友评论

          本文标题:ItemBinding获取position的三种方式

          本文链接:https://www.haomeiwen.com/subject/clewyltx.html