вернуть findViewById () в привязку просмотра - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь оптимизировать старый код. И я пытаюсь заменить findviewbyid на viewbinding. Но как мне вернуть id привязки вида вместо findviewbyid?

private TextView getTextView(int id){
        return (TextView) findViewById(id);
}

Это старый код. Но я хочу применить viewbinding. Я хочу, чтобы это работало как-то так. Поскольку я понятия не имею, как это сделать.

private TextView getTextView(int id){
        return sampleViewBinding(id);
}

Как мне этого добиться?

1 Ответ

0 голосов
/ 02 мая 2020

Весь смысл привязки View состоит в том, чтобы избегать вызовов findViewById(). Это делает это для вас автоматически. То, что вы пытаетесь сделать, это рассматривать привязку вида как findViewById(). Всякий раз, когда вам нужно получить доступ к любому представлению, все, что вам нужно сделать, это вызвать сгенерированный класс привязки с вашим идентификатором в случае верблюда. Например, main_layout.xml будет иметь класс, сгенерированный именем MainLayoutBinding, поэтому вы получите доступ ко всему представлению внутри макета, вызвав экземпляр MainLayoutBinding и идентификатор, к которому вы хотите получить доступ.

...