只是想要调用绑定(bind)适配器的方法,而不需要 xml 中的任何值。
示例:
XML
<android.support.v7.widget.AppCompatSpinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="@dimen/spinner_height"
android:background="@drawable/background"
app:performClickOnFocus="@{true}"/>
BindingAdater 代码
@BindingAdapter({"app:performClickOnFocus"})
public static void performClickOnSpinner(final AppCompatSpinner spinner, boolean arg) {
spinner.setOnFocusChangeListener((v, hasFocus) -> {
if (hasFocus) {
spinner.performClick();
}
});
}
预期的代码应该没有 bool 值。
如下所示
@BindingAdapter({"app:performClickOnFocus"})
public static void performClickOnSpinner(final AppCompatSpinner spinner) {
spinner.setOnFocusChangeListener((v, hasFocus) -> {
if (hasFocus) {
spinner.performClick();
}
});
}
让我知道是否还有其他方法可以实现这一目标
最佳答案
你可以做到这一点,
/**
* Use example:
* app:showDatePicker="@{null}"
*/
@BindingAdapter("showDatePicker")
fun TextView.showDatePicker(dummy: Any?) {
// ...
}
关于android - 调用没有任何值的绑定(bind)适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51588599/