Подтвердить что ты не робот

Поиск по названию

Можно ли найти представление по его имени, а не по его идентификатору.

findViewById(R.id.someView);

но я хотел бы сделать что-то вроде этого:

findViewByName("someView");
4b9b3361

Ответ 1

вам нужно найти представления по идентификатору при работе с xml, но вы можете найти идентификатор с помощью getIdentifier (String name,...), который полезен если у вас есть ваши макеты, пронумерованные, например. Просто имейте в виду, что такой поиск относительно дорог.

, чтобы выполнить ответ

int id = getResources().getIdentifier(name, "id", context.getPackageName());
View view = findViewById(id);

Ответ 2

Да, мы можем найти любые статические ресурсы по имени.

 int id = getResources().getIdentifier(name, "id", context.getPackageName());
View view;
if(id != 0) {
  view = findViewById(id);
}

getResources(). Идентификатор всегда будет возвращать 0, если ресурс не найден или имя не совпадает.

Ответ 3

Нет, таких методов нет. Мне любопытно, почему вам нужен такой метод.