2016-09-07 2 views
0

Как я могу сделать view.setId(123) в макете xml?Установить ID как номер в макете

android:id="123" не работает, и android:id="@+id/123" бы добавить его в файл идентификаторы

Edit: Мне нужно установить идентификатор ряда, потому что я устанавливаю его много взглядов, и я хочу чтобы начать их с петли

+1

В чем проблема с добавлением его в файл ID? – tynn

+0

Я делаю это с большим количеством просмотров, и я хочу инициировать их с помощью цикла –

ответ

1

Кажется, что вы делаете что-то не предназначенное. Это невозможно сделать так, как вы хотите, но для этого есть небольшое обходное решение.

Самый простой будет определить массив этих идентификаторов

static final int[] IDS = {R.id.id1, R.id.id2, ...}; 

или с помощью XML TypeArray

<resources> 
    <array name="ids"> 
     <item>@id/id1</item> 
     <item>@id/id2</item> 
     ... 
    </array> 
</resources> 
TypedArray ta = getResources().obtainTypedArray(R.array.ids); 
for (int i = 0; i < ta.length(); i++) 
    findViewById(ta.getResourceId(i, 0); 
ta.recycle(); 

Но лучше рассмотреть рефакторинга кода, чтобы не иметь необходимость использования этого.

Смежные вопросы