2 Stimmen

Wie zuweisen dynamischen id zu Ansichten in Android?

Ich erstelle ein dynamisches TableLayout und TableRows, die Ansicht wie ImageView, TextView enthält. Ich bin assging sie Id mit setId() Methode.

Als id verwende ich eine int-Variable und inkrementiere sie, um sie als view id zuzuweisen und speichere sie auch in einem int-Array oder einer Liste, und später verwende ich Array oder Liste, um sie in Event-Handlern zu identifizieren.

Ich möchte nur wissen, ist es richtig (oder problmatic) zuweisen id wie diese oder gibt es eine bessere Möglichkeit.

zum Beispiel

Variablen

final int CHECK_BUTTON_ID = 982301;
int ids_check[];

in der Schleife erstelle ich Ansichten und setze IDs.

Button btn_check = new Button(this);
int id = i + CHECK_BUTTON_ID;
btn_check.setId(id);
ids_check[i] = id;

0voto

Brane Punkte 810

Wenn Sie sich die IDs ansehen, die vom Android-Ressourcen-Compiler erzeugt werden, werden Sie feststellen, dass sie alle 0x7f000000 oder höher sind. (Markieren Sie einfach eine beliebige R.id.id_name in Eclipse und drücken Sie F3, um sich davon zu überzeugen).

Wenn Sie also dynamisch IDs mit Ihrer Ansicht generieren, verwenden Sie einfach einen niedrigeren Bereich als diesen, und Sie sollten in Ordnung sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X