1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. StefMa, 14.11.2011 #1
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Hi,

    ich lese eine Datenbank aus, wieviele Buttons (in einem array) erstellt werden.

    Danach möchte ich die erstellen Buttons auf ein LinearLayout packen. (+ listener)..

    Allerdings werden die Buttons ÜBERhAUPT nicht angezeigt..

    Layout:
    dann der Quelltext dazu:


    MfG Ice
     
  2. swordi, 14.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    hmm ich vermute:

    dein linearlayout (und auch die scrollview) wird auf höhe 0 gesetzt, da es anfangs keine buttons gibt.

    dann fügst du zwar die buttons hinzu, aber die höhe wird nicht angepasst. versuch mal layout_height="fill_parent"
     
  3. StefMa, 14.11.2011 #3
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Hi,

    funktioniert leider auch nicht.
    Da du von einem Layout problem ausgehst, habe ich mal das Komplette layout angefügt..

    Layout: Your code. Your site. Use it. - paste.org
    (Die einrückung kommt von paste.org nicht von mir ;)

    MfG Ice
     
  4. swordi, 14.11.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    link geht nicht
     
  5. StefMa, 14.11.2011 #5
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Arg oO

    http://goo.gl/XePob

    P.s.: Link geht, das weiterleiten von android-hilfe. de geht nicht richtig ;) Also Copy und paste :D
     
  6. Tom299, 15.11.2011 #6
    Tom299

    Tom299 Android-Experte

    nur mal so als hinweis: du initialisiert in jedem schleifendurchlauf dein array neu. mit cursor.getCount() kann man aber die anzahl der zeilen abfragen und damit hättest du deine array-größe schon im voraus und brauchst nur 1 mal zu initialisieren. ansonsten würde ich ne array-list nehmen und bei jedem durchlauf mein neues objekt erzeugen und reinstecken. aber das ist wohl geschmackssache ;-)

    desweiteren glaube ich, daß du ein index out of bounds bekommen müßtest, weil du setzt howlong im 1. durchlauf schon auf 1, gehst aber in der i-schleife bis auf 0. da müßte wohl dann ein i>0 hin, sonst hast du hier schon mal 2 durchläufe, und das sollte eigentlich falsch sein. vielleicht irre ich mich auch, aber checks mal trotzdem :)
     
  7. swordi, 15.11.2011 #7
    swordi

    swordi Gewerbliches Mitglied

    warum nutzt du teilweise px und dip?
     
  8. the_alien, 15.11.2011 #8
    the_alien

    the_alien Android-Lexikon

    PHP:
    LinearLayout ll = (LinearLayoutfindViewById(R.id.favoriten_layout);

    Cursor id myDB.rawQuery("select _id from "table_name ""null);

    while(
    id.moveToNext())
    //howLong wird bei jedem Schleifendurchlauf um 1 erhöht
    howLong howLong 1
    //bei jedem Schleifendurchlauf wird buttons neu initialisiert
    Button[] buttons = new Button[howLong];
    //bei jedem Schleifendurchlauf wird das Array komplett neu gefüllt.
    for (int i=howLongi==0i--)
    {
    buttons[i] = new Button(this); 
    buttons[i].setText("hallo");
    ll.addView(buttons[i]);
    }
    Wenn deine Datenbank sagt du hast 10 Buttons, dann bekommst du im ersten Durchlauf einen Button. Im zweiten Durchlauf 2 Buttons, dann 3... aber die würden sich addieren. Also: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 Buttons.

    Ganz davon ab, dass dein Code nicht einen Button anzeigt würde das auch nicht das Ergebnis geben was du erwartest wenn die Buttons angezeigt werden....
     
  9. StefMa, 15.11.2011 #9
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Bin grade dabei alle px zu dip zu formatieren ;) Anscheinend etwas übersehen..
    (Spielt hier aber auch keine Rolle :D)

    the_alien:
    Ich sehe bei while(id.moveToNext()) keine geschweifte klammer!
    => NUR howLong kriegt in die while-schleife einen +1 ;), der Rest ist unabhängig von der Schleife!

    MfG Ice

    €dit:
    <- genau hierdrum geht es in den Thread ;) Eine Lösung?
     
  10. swordi, 15.11.2011 #10
    swordi

    swordi Gewerbliches Mitglied

    deswegen macht man klammern um die schleife

    auch wenns nur eine zeile ist :D
     
    the_alien gefällt das.
  11. StefMa, 15.11.2011 #11
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Möchten wir uns jetzt wegen einer geschweiften Klammer streiten oder mein Problem lösen? :sleep:
     
  12. swordi, 15.11.2011 #12
    swordi

    swordi Gewerbliches Mitglied

    jaja bleib kuhl
     
  13. StefMa, 15.11.2011 #13
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Habs gefixt!..

    Danke MfG Ice
     
  14. the_alien, 15.11.2011 #14
    the_alien

    the_alien Android-Lexikon

    Lösungen für sich behalten ist genauso uncool wie sich über fehlende Klammern streiten.
     
  15. StefMa, 15.11.2011 #15
    StefMa

    StefMa Threadstarter Gewerbliches Mitglied

    Ach hier geht es ums ansehen? :flapper:

    Nagut:
    Die for(int i = howLong...* war iwie falsch! Deshalb hat er auch keine Buttons ausgegeben, da er sie iwie nicht betrten hat.. Oder sonste was :D

    Als ich sie auf int i = 0; i<howLong;i++) geändert habe hat es einwandfrei funktioniert!

    MfG Ice
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Constraint: Buttons gleichmäßig untereinander ausrichten Android App Entwicklung 11.10.2017
[OFFEN] RadioButtons mit Button Tinting sehen auf Geräten unterschiedlich aus (API > 21) Android App Entwicklung 09.09.2017
[ERLEDIGT] Android Studio - EditText (Passwort) mit Button einfügen? Android App Entwicklung 22.07.2017
[ERLEDIGT] Android Studio - Buttons zu bestimmten Punkten per klick bewegen lassen Android App Entwicklung 20.07.2017
[OFFEN] Mysteriöser Button Android App Entwicklung 24.06.2017
[ERLEDIGT] Hilfe bei Fehler in Quellcode benötigt Android App Entwicklung 23.06.2017
[OFFEN] Probleme mit Action Floating Button Android App Entwicklung 27.05.2017
[ERLEDIGT] Buttontext per klick ändern Android App Entwicklung 14.03.2017
SnackBar Action Button wird nicht an den unteren Rand gesetzt Android App Entwicklung 07.03.2017
Der Zurück-Button wird nicht angezeigt Android App Entwicklung 23.01.2017
Du betrachtest das Thema "Button[] und addView(buttons[i]);" im Forum "Android App Entwicklung",