ViewBinding манипулирует видом после надувания - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть случай, когда я передавал свой 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 с id из layout теперь мой вопроскак я могу позвонить manipulateView на getLayoutResource(), если я просто передам viewStub и затем позвоню viewStub.getRootView() и Manipulate этому представлению?

Было бы лучше, если бы я смог manipulate ViewDataBinding возразить сам, я должен просто манипулировать ViewDataBinding::getRoot?

1 Ответ

0 голосов
/ 03 января 2019

Представление, которое надувается при вызове layoutInflater.inflate(...), - это то же представление, которое вы получите от viewDataBinding.getRoot().Из документов root «возвращает внешний вид» .

Итак, если вы хотите этим манипулировать, я бы просто позвонил manipulateView(viewDataBinding.root).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...