2012-03-27 8 views
2

Ich habe eine Spinner und eine SimpleCursorAdapter. Für ungerade/gerade Zeilen auf diesem Spinner setze ich einige Farbe, Hintergrund, Schriftgröße. Auch in meinem Cursor gibt es einen leeren Wert. Dazu möchte ich nur eine 5 Pixel hohe Zeile anzeigen. Ich weiss nicht, wie ich das machen soll.android spinner benutzerdefinierte reihen

Wie ein Beispiel möchte ich so etwas wie dieses mein Versuch Code

Row1 
    Row2 
    Row3 
    ---- 
    Row4 
    Row5 

Hier

public View getDropDownView(int position, View convertView, ViewGroup parent) { 
View view = super.getDropDownView(position, convertView, parent); 
if (position % 2 == 0) { 
    view.setBackgroundResource(R.layout.dropdown_selector_odd); 
} else { 
    view.setBackgroundResource(R.layout.dropdown_selector_even); 
} 
TextView text = (TextView) view.findViewById(R.id.spinner_item_name); 
String driverSpinnerRow = text.getText().toString(); 
if (driverSpinnerRow.trim().length() == 0) { 
    // Here must add this line 
    text.setHeight(5); 
} 
return view; 
} 

jemand kann mir helfen?

+0

Was sehen Sie mit dem Code, den Sie hier haben? Kann zwischen den ungeraden und geraden Layouts nicht umgeschaltet werden? Oder siehst du überhaupt nichts? Wenn Sie mehr Code posten, bin ich sicher, dass wir Ihnen helfen können. –

+0

Also statt Text wollen Sie eine solide, 5-Pixel-Höhe Linie? Ich möchte nur sicherstellen, dass ich das richtig verstehe, weil Sie die Höhe von "TextView" einstellen, was verwirrend ist. –

Antwort

0

This is what you need. Statt Bilder Angenommen, sind Linien, und statt der Einstellung der Quelle des Bildes gesetzt sichtbar/unsichtbar zu den Linien.

Here is a similar tutorial zum Erstellen eines benutzerdefinierten Layouts für die Zeilen. Fügen Sie dem Zeilenlayout die Höhenlinie mit 5 Pixeln hinzu und legen Sie fest, dass sie unsichtbar sein soll. Dann im Adapter bei Bedarf auf sichtbar stellen. This ListView tutorial kann helfen, einen benutzerdefinierten Adapter zu erstellen.