如何通过数据绑定将 onClick 代码从 XML 传输到 Kotlin 以用于 recyclerview
how to transfer onClick code from XML to Kotlin for recyclerview with data binding
下面的代码是 recyclerview 项目的 XML。
如何从[=转移android:onClick="@{() -> sumListener.onClick(sum)}"(最后一行) 24=] 到科特林?
我想做一个onLongClick,但是XML没有onLongClick。
如果需要更多信息,请告诉我。
<data>
<variable
name="sum"
type="com.cementcaibird.astock.database.Sum" />
<variable
name="sumListener"
type="com.cementcaibird.astock.main.SumListener" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_item_container"
android:onClick="@{() -> sumListener.onClick(sum)}">
...(other view code)
用这个方法可以实现
<data>
<variable
name="sum"
type="com.cementcaibird.astock.database.Sum" />
<variable
name="sumListener"
type="com.cementcaibird.astock.main.SumListener" />
</data>
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_item_container">
...(other view code)
在你的Activity/Fragment
private lateinit var binding: YourBindingclass
..
binding.linearLayout.setOnClickListener { view->
// Handle your click here
}
binding.linearLayout.setOnLongClickListener{ view->
// Handle your long click here
true
}
下面的代码是 recyclerview 项目的 XML。
如何从[=转移android:onClick="@{() -> sumListener.onClick(sum)}"(最后一行) 24=] 到科特林?
我想做一个onLongClick,但是XML没有onLongClick。
如果需要更多信息,请告诉我。
<data>
<variable
name="sum"
type="com.cementcaibird.astock.database.Sum" />
<variable
name="sumListener"
type="com.cementcaibird.astock.main.SumListener" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_item_container"
android:onClick="@{() -> sumListener.onClick(sum)}">
...(other view code)
用这个方法可以实现
<data>
<variable
name="sum"
type="com.cementcaibird.astock.database.Sum" />
<variable
name="sumListener"
type="com.cementcaibird.astock.main.SumListener" />
</data>
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_item_container">
...(other view code)
在你的Activity/Fragment
private lateinit var binding: YourBindingclass
..
binding.linearLayout.setOnClickListener { view->
// Handle your click here
}
binding.linearLayout.setOnLongClickListener{ view->
// Handle your long click here
true
}