Sam*_*erz 5 java data-binding android
我有一个实例,我曾经将我View的方法传递给一个新方法来操作一些东西。在这里,我将提供一个示例。所以基本上我使用的是 aRecyclerView并且我是创建时inflating的视图recylerviewview
所以现在我有了膨胀的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);
Run Code Online (Sandbox Code Playgroud)
然后我在viewStub这里设置布局
viewStub.setLayoutResource(getLayoutResource());
Run Code Online (Sandbox Code Playgroud)
现在setLayoutResource期待一个int与价值id的的layout,现在我的问题是我怎么能叫manipulateView上getLayoutResource()我应该只是经过viewStub,然后调用viewStub.getRootView()和Manipulate看法?
如果我能够自己manipulate处理ViewDataBinding对象,那将是最好的,我应该操纵ViewDataBinding::getRoot吗?
通过调用而膨胀的视图layoutInflater.inflate(...)与您从 获得的视图相同viewDataBinding.getRoot()。从文档来看,root “返回最外面的视图”。
所以,如果这就是你想要操纵的,我会打电话给manipulateView(viewDataBinding.root).
| 归档时间: |
|
| 查看次数: |
1113 次 |
| 最近记录: |