放大后的ViewBinding操作视图

时间:2018-12-31 09:58:17

标签: java android data-binding

我有一个实例,我曾经将我的View传递到一种新方法来处理几件事。在这里,我将提供一个示例。所以基本上我使用的是RecyclerView,而inflating创建recylerview

时就是view

因此,现在有了膨胀的View对象,现在我将其传递给我的方法即可进行操作。

manipulateView(view) manipulateView设置view children的颜色和属性

,并且过去可以正常工作。但现在我要移至ViewBinding

现在我有一个ViewStub,我需要inflate我的customView

如下是代码

ViewDataBinding viewDataBinding = DataBindingUtil.inflate(layoutInflater, getLayoutResource(), viewGroup, false);
ViewStub viewStub = (ViewStub) viewDataBinding.getRoot().findViewById(R.id.stub);

然后在此处设置viewStub的布局

viewStub.setLayoutResource(getLayoutResource());

现在setLayoutResource期望int的{​​{1}}为id的值,现在我的问题是如何在layout上调用manipulateView我应该只通过getLayoutResource()然后调用viewStubviewStub.getRootView()那个视图吗?

如果我能够Manipulate自己manipulate对象,那将是最好的,我是否应该操纵ViewDataBinding

1 个答案:

答案 0 :(得分:1)

通过调用layoutInflater.inflate(...)膨胀的视图与从viewDataBinding.getRoot()得到的视图相同。在文档中,以"returns the outermost view"为根。

因此,如果那是您要操纵的内容,那么我将致电manipulateView(viewDataBinding.root)