gpt4 book ai didi

android - 绑定(bind)没有额外参数的 View

转载 作者:行者123 更新时间:2023-12-03 10:33:03 25 4
gpt4 key购买 nike

我正在尝试将分隔装饰绑定(bind)到 Recycler View

    <android.support.v7.widget.RecyclerView
android:id="@+id/recycler"
app:layoutManager="android.support.v7.widget.LinearLayoutManager"
app:dividerDirection="@{}"
android:layout_width="match_parent"
android:layout_height="match_parent" />
然后我有一个 BindingAdapter 来绑定(bind)分隔线
@BindingAdapter("dividerDirection")
public static void setItemDecoration(RecyclerView view) {
LineDividerItemDecoration decoration =
new LineDividerItemDecoration(view.getContext());
view.addItemDecoration(decoration);
}
在没有任何额外参数的情况下绑定(bind) View 的正确方法是什么?
如果我使用类似的东西
app:dividerDirection="@{@drawable/line_divider}"
它工作正常
但它不适用于
 app:dividerDirection="@{}"
我只需要引用 View 即可获取上下文

最佳答案

你不能有一个没有任何参数的绑定(bind)适配器。
你可以做的是通过null .app:dividerDirection="@{null}"在这种情况下,您的绑定(bind)适配器可能如下所示:

@BindingAdapter("dividerDirection")
public static void setItemDecoration(RecyclerView view, Integer direction) {
LineDividerItemDecoration decoration =
new LineDividerItemDecoration(view.getContext());
view.addItemDecoration(decoration);
}
我建议创建具有一般逻辑的绑定(bind)适配器,而不是为您拥有的每个用例都提供它。
在您的情况下,如果您想提供分频器方向,您可以传递整数/枚举,这将与参数有一些逻辑。

关于android - 绑定(bind)没有额外参数的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47561753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com