1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Text in Spinner ist zulang

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von newpageart, 07.11.2011.

  1. newpageart, 07.11.2011 #1
    newpageart

    newpageart Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    20.10.2011
    Hallo alle miteinander!

    Ich stehe gerade vor dem Problem das der Text in meinem Spinner recht lang ist und deshalb nicht komplett angezeigt wird :(
    Hat vieleicht jemand eine Idee wie man den kompletten Text angezeigt bekommt? Eventuell kann man ja die Schriftgröße verkleinern? Ich weiss nure nicht wie. Oder gibt es die möglichkeit eines automatischen Zeilenumbruchs?

    Viele Grüße,
    Tom
     
  2. swordi, 07.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
  3. newpageart, 07.11.2011 #3
    newpageart

    newpageart Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    20.10.2011
    Danke, das hat mir sehr weitergeholfen.

    Ich hätte aber gleich noch eine andere Frage.
    Ist es möglich Spinner dynamisch zu füllen? Über eine Schleife oder so?
    Ich habe 25 Spinner die ich alle wie folgt fülle:

    Code:
    Spinner s1 = (Spinner) findViewById(R.id.spBI_01);
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this, R.array.arrBI_01, R.layout.multiline_spinner_dropdown_item);      adapter1.setDropDownViewResource(R.layout.multiline_spinner_dropdown_item);
    s1.setAdapter(adapter1);
    
    Diesen Code muss ich jetzt 25 mal schrieben und es werden ja eigentlich nur die Zahlen geändert (s1 bis 25, R.id.spBI_01 bis R.id.spBI_25, adapter1 bis 25). Gibt es eine möglichkeit dies zuvereinfachen?

    Viele Grüße,
    Tom
     
  4. swordi, 07.11.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja wenn du deine spinner in ein array packst, kannst sie über ne schleife füllen.
    geht schon,

    aber ich vermute mal 25 spinner in einer ansicht sind irgendwie zu viel. gibt es da keine komfortablere lösung? der user wird wahrscheinlich keine freude damit haben.
     
  5. Tom299, 07.11.2011 #5
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    also für Spinner und ArrayAdapter kannst du sicherlich Arrays nehmen, also z.b. Spinner [] spinner = new Spinner [25] und dann mit spinner[0] ... spinner[24] abfragen, gleiches für ArrayAdapter.

    nur bei den R.id.xxx bin ich mir jetzt nicht sicher. evtl. kannst du die erste id nehmen und dann immer mit ++ inkrementieren, aber das müßte man mal testen, ob das paßt.
     
  6. swordi, 07.11.2011 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja musst halt auch ein array damit zusammen baun. sind ja auch alles nur int werte.
     
  7. newpageart, 07.11.2011 #7
    newpageart

    newpageart Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    20.10.2011
    Danke ihr beiden!

    Das klingt schonmal nach einer Idee. Ich werd das gleich mal ausprobieren. Was mache ich allerdings mit der Zeile:
    Code:
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this, R.array.arrBI_01, R.layout.multiline_spinner_dropdown_item);
    Die "R.array.arrBI_01" Anweisung müsste ich dann ja auch irgendwie dynamisch machen.

    @swordi: Die 25 Spinner müssen leider sein. Der anwender soll an der Stelle 25 Fragen beantworten. Das schien mir die Platzsparendste Variante.

    Viele Grüße,
    Tom
     
  8. swordi, 07.11.2011 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    naja dann erstell halt deinen adapter bzw dessen daten dynamisch.

    das kommt daher, dass code einfach kopiert wird ohne zu verstehen was er macht :D ( na, hab ich recht ? *gg*)
     
  9. mradlmaier, 07.11.2011 #9
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    Gutes UI Design ist das wahrscheinlich nicht, schliesslich sitzen deine Benutzer nicht vor einem Desktop PC.

    Im übrigen gibt es eine Methode getResources().getIdentifier(String name)
    welche ein String akzeptiert, so dass Du Dir deine id's dynamisch basteln kannst.
     
  10. Tom299, 08.11.2011 #10
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    also wenn du 25 fragen hast und dazu 25 spinner mit den antwortmöglichkeiten, da mußte aber ganz schön viel scrollen. ich glaube nicht, daß sich der benutzer darüber freut und die übersichtlichkeit geht da auch total verloren.

    wenn ich mir das jetzt so überlege, würde ich vermutlich jeder frage eine (eigene) view geben (diese könnte ja dynamisch sein, also nur 1 xml layout) und anstatt den spinnern dann radio-buttons nehmen.

    so könnte der benutzer jede frage ohne zu scrollen übersichtlich lesen und beantworten. und man könnte mit "vor" und "zurück" zur nächsten oder vorherigen frage navigieren. aber ist nur eine idee von mir ;-)
     
  11. newpageart, 08.11.2011 #11
    newpageart

    newpageart Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    49
    Erhaltene Danke:
    0
    Registriert seit:
    20.10.2011
    Vielen Dank an euch alle! Ihr habt mir sehr weitergeholfen.

    @mradlmaier: "getResources().getIdentifier(String name)" ist genau das was ich benötigt hatte. Damit konnte ich den Code doch um ewiniges einkürzen.

    @Tom299: Das ist natürlich auch eine sehr gute Idee. Ich werde einfach beide Varianten ausprobieren. Da wir die App nur Firmenintern verwenden wollen, können dann auch die Benutzer mitentscheiden ;o)

    @swordi: ja, da hast du wohl nicht ganz unrecht. Ich versuche mich immernoch in die Sache einzuarbeiten ;o) Durch die Anregung in diesem Thema ist mir jetzt aber zumindest wieder einiges klarer.

    Viele Grüße,
    Tom
     

Diese Seite empfehlen