DataBinding點選事件沒有反應

jameskaron發表於2018-02-06

根據官方文件,發現點選事件並沒有觸發

<data>
        <variable
            name="user"
            type="com.m.databindingdemo.model.User"/>
        <variable
            name="handlers"
            type="com.m.databindingdemo.model.MyHandlers"/>
    </data>

。。。

<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:text="@{user.firstname}"
            android:onClick="@{handlers::onClickFriend}"
            />

 

Handler:

class MyHandlers {

    fun onClickFriend(view: View) {
        Toast.makeText(view.context,"test method reference",Toast.LENGTH_LONG).show()
    }
}

原因是需要繫結:

val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.handlers = MyHandlers()  //關鍵語句

  

參考:

1.http://blog.csdn.net/xiaolaohuqwer/article/details/79161338

相關文章