@RaphaeI

Как программно присвоить уникальный идентификатор?

TabHost заполняется программно:
TabHost.TabSpec tabSpec;
     for (int i=0;i<db.sec.size();i++) {
    	 createTabs(i+10, db.sec.get(i));
	 tabSpec = tabHost.newTabSpec("tag"+i+1);
	 tabSpec.setIndicator("Секция "+(i+1));
         tabSpec.setContent(i+10);
         tabHost.addTab(tabSpec);       
     }

В createTabs создаются таблицы, которым присваивается идентификатор setId(i+10). На главной активити есть элементы, которым id присваиваются черех xml: android:id="@+id/desc_switcher". Могут ли в таком случае получится два элемента с одинаковыми id ?
  • Вопрос задан
  • 3685 просмотров
Решения вопроса 1
forceLain
@forceLain
Android developer for 3 years
aapt генерирует id для элементов, указанных в xml, начиная с 0x00FFFFFF и выше, так что генерируя id ниже этого числа Вы не должны пересечься.
P.S. начиная с API 17 есть возможность генерировать уникальный id программно через View.generateViewId()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы