2016-09-07 4 views
0

Wie kann ich view.setId(123) im XML-Layout erstellen?ID als Nummer im Layout festlegen

android:id="123" nicht funktioniert, und android:id="@+id/123" wäre es fügen in die IDs

Datei bearbeiten: Ich brauche die ID auf eine Zahl gesetzt, weil ich es zu viele Ansichten Einstellung bin und ich möchte um sie mit einer Schleife zu initiieren

+1

Was ist das Problem beim Hinzufügen der IDs-Datei? – tynn

+0

Ich mache das zu vielen Ansichten und ich möchte sie mit einer Schleife initiieren –

Antwort

1

Es scheint, als ob Sie etwas tun, was nicht beabsichtigt ist. Es ist nicht möglich, es so zu machen, wie du es willst, aber dafür gibt es eine kleine Abhilfe.

Das einfachste wäre ein Array dieser IDs unter Verwendung von 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(); 

Aber besser betrachten Refactoring Ihren Code nicht haben die

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

oder zu definieren, Notwendigkeit, dies zu verwenden.

Verwandte Themen