代码之家  ›  专栏  ›  技术社区  ›  SamHoque

视图绑定在充气后操纵视图

  •  4
  • SamHoque  · 技术社区  · 7 年前

    我有一个例子,我过去经常通过 View 一种新的方法来操纵一些东西。这里我将提供一个例子。所以基本上我用的是 RecyclerView 而我 inflating 当视图 recylerview 创建 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 价值与 id layout 现在我的问题是怎么打电话 操作视图 getLayoutResource() 我应该通过吗 可视存根 然后打电话 viewStub.getRootView() Manipulate 那种观点?

    如果我能 manipulate 这个 ViewDataBinding 反对它自己,我应该操纵它吗? ViewDataBinding::getRoot ?

    1 回复  |  直到 7 年前
        1
  •  1
  •   AdamMc331    7 年前

    被电话夸大的观点 layoutInflater.inflate(...) 你会从同一个角度看吗? viewDataBinding.getRoot() . 从文档,根目录 "returns the outermost view" .

    所以,如果你想操纵它,我会打电话给 manipulateView(viewDataBinding.root) .

    推荐文章