Ниже показаны код и снимок экрана для отображения данных в listview
, содержащих 3 textview
.
Я попробовал следующий код в getView()
методе класса Adapter
, чтобы придать фоновое изображение альтернативным строкам, то есть строке №. 0,2,4 и т.д..
Когда я пытаюсь реализовать это, я получаю вывод, как показано на скриншотах, то есть строки не получают должным образом.
Также см. Ниже xml
, в котором используются параметры alignTop
и alignBottom
, все еще при нажатии кнопки Index
, 2-й и 3-й textview
не получают цвет фона соответствующим образом.
РЕДАКТИРОВАТЬ - если я использую цвет вместо изображения для фона, он работает хорошо для всех случаев, кроме кнопки Index
.
if (count % 2 == 0) {
try {
InputStream is = ctx.getAssets().open("cellbg.png");
Drawable d = Drawable.createFromStream(is, "cellbg");
holder.txtFirst.setBackgroundDrawable(d);
holder.txtSecond.setBackgroundDrawable(d);
holder.txtThird.setBackgroundDrawable(d);
Log.v("count=", "" + (count++));
} catch (Exception e) {
throw new Error(" exception in TableListAdapter " + e.getMessage());
}
} else {
Log.v("else count==", "" + (count++));
}
структура списка (xml)
<TextView
android:id="@+id/FirstText"
android:layout_width="80dp"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/SecondText"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"/>
<TextView
android:id="@+id/ThirdText"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"/>
1-й экран показывает структуру списка на момент запуска приложения, где по умолчанию нажимается кнопка Gainers
.
2-й показывает случай нажатия кнопки Index
.
3-й показывает случай повторного нажатия кнопки Gainers
после нажатия индексной кнопки.
4-й показывает макет при нажатии List item
.
Что я делаю не так?
ЛЮБАЯ ПОМОЩЬ БУДЕТ ЖИЗНЕННОЙ !!!