2012-03-27 2 views
2

У меня есть Spinner и SimpleCursorAdapter. Для нечетных/четных строк на этом счетчике я устанавливаю некоторый цвет, фон, размер шрифта. Также в моем курсоре есть пустое значение. Для этого я хочу отобразить только высоту высотой 5 пикселей. Я не знаю, как это сделать.андроид spinner custom ряды

Как пример я хочу что-то вроде этого

Row1 
    Row2 
    Row3 
    ---- 
    Row4 
    Row5 

Вот моя попытка код

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; 
} 

Может кто-нибудь мне помочь?

+0

Что вы видите с кодом, который у вас здесь? Не переключается ли он между нечетными и четными макетами? Или вы вообще ничего не видите? Если вы разместите больше кода, я уверен, что мы можем вам помочь. –

+0

Итак, вместо текста вам нужна сплошная 5-пиксельная высота линии? Просто хочу убедиться, что я правильно понял, потому что вы устанавливаете высоту 'TextView', которая запутывает. –

ответ

0

This is what you need. Вместо изображений, предположу, что есть линия, и вместо установки источника изображений, установите видимый/невидимый к линиям.

Here is a similar tutorial о том, как создать пользовательский макет для строк. Добавьте строку высоты 5 пикселей в макет строки и установите ее невидимой. Затем в адаптере он станет видимым при необходимости. This ListView tutorial может помочь создать пользовательский адаптер.

Смежные вопросы