Text in Spinner ist zulang

N

newpageart

Neues Mitglied
0
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
 
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
 
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.
 
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.
 
naja musst halt auch ein array damit zusammen baun. sind ja auch alles nur int werte.
 
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
 
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*)
 
newpageart schrieb:
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

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.
 
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 ;-)
 
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
 

Ähnliche Themen

U
  • unerfahrenerAppEntwickler
Antworten
3
Aufrufe
705
swa00
swa00
D
Antworten
23
Aufrufe
2.536
Data2006
D
Zurück
Oben Unten