У меня есть динамически созданный View и вы хотите найти его по тегу, возможно ли это?
Я знаю функцию findViewById
, есть ли что-то подобное для тегов?
Android. Поиск по тегу
Ответ 1
LinearLayout linLayout = (LinearLayout)findViewWithTag("layout1");
но я не думаю, что вам нужен тег для динамического просмотра. Вы можете получить динамический ресурс, выполнив следующий код
for (int i=0; i < total_resource; i++) {
//retrieve id dynamically
int id = getResources().getIdentifier("resource"+i, "id", getPackageName());
TextView myText = (TextView) findViewById(id); // get the element
}
Ответ 2
Создайте файл ids.xml для хранения вашего id:
<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="component1" /> <item type="id" name="component2" /> <item type="id" name="component3" /> </resources>
Установите динамически созданный компонент, например:
Button1.setId(R.id.layout1); buttom2.setId(R.id.layout2); button3.setId(R.id.layout3);
Другим способом является установка тега на ваш компонент при динамическом создании
button1.setTag(1);
И используйте getTag()
для получения этого компонента