P
pascals
Neues Mitglied
- 0
Hallo,
ich habe vor dynamische Buttons zu erzeugen mit Hilfe einer for-Schleife. Dazu habe ich bisher folgenden Code erstellt:
Jedoch wird dabei lediglich der letzte Button erzeugt. Woran liegt das?
Man könnte natürlich denken, dass sie lediglich übereinander erstellt werden, da sie ja keine unterschiedlichen Paramter/Positionen haben. Das habe ich aber schon versucht zu testen, indem ich den Parameter nach einem Durchlauf ändere. Trotzdem gab es nur den letzten Button an der neuen Position. Auch habe ich es schon mit Thread.sleep probiert die Durchläufe kurz anzuhalten, dennoch war lediglich nach dem letzten Durchgang der letzte Button da, vorher keiner.
n. Button hinzugefügt steht übrigens nach jedem Durchgang im Log.
Danke für eure Hilfe!
mfG Pascal
ich habe vor dynamische Buttons zu erzeugen mit Hilfe einer for-Schleife. Dazu habe ich bisher folgenden Code erstellt:
Code:
Integer id[] = new Integer[maxid];
String title[] = new String[maxid];
Button pb[] = new Button[maxid];
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.button);
cursor.moveToFirst();
for (int n=0; n<maxid; n++) {
pb[n] = new Button(this);
title[n] = cursor.getString(1);
pb[n].setId(20 + n);
pb[n].setText(title[n]);
pb[n].setLayoutParams(params);
fp.addView(pb[n]);
System.out.println(n + ". Button hinzugefügt");
cursor.moveToNext();
}
Jedoch wird dabei lediglich der letzte Button erzeugt. Woran liegt das?
Man könnte natürlich denken, dass sie lediglich übereinander erstellt werden, da sie ja keine unterschiedlichen Paramter/Positionen haben. Das habe ich aber schon versucht zu testen, indem ich den Parameter nach einem Durchlauf ändere. Trotzdem gab es nur den letzten Button an der neuen Position. Auch habe ich es schon mit Thread.sleep probiert die Durchläufe kurz anzuhalten, dennoch war lediglich nach dem letzten Durchgang der letzte Button da, vorher keiner.
n. Button hinzugefügt steht übrigens nach jedem Durchgang im Log.
Danke für eure Hilfe!
mfG Pascal