我有一个实例,我曾经将我的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()
然后调用viewStub
和viewStub.getRootView()
那个视图吗?
如果我能够Manipulate
自己manipulate
对象,那将是最好的,我是否应该操纵ViewDataBinding
?
答案 0 :(得分:1)
通过调用layoutInflater.inflate(...)
膨胀的视图与从viewDataBinding.getRoot()
得到的视图相同。在文档中,以"returns the outermost view"为根。
因此,如果那是您要操纵的内容,那么我将致电manipulateView(viewDataBinding.root)
。