Ниже показан код и снимок экрана для отображения данных в формате listview
, содержащем 4 textview
(, из которых будут отображаться только 3 ) и 1 imageView
.
Я попробовал следующий код в getView()
методе класса Adapter
, чтобы задать другое фоновое изображение для чередующихся строк, т.е. 0,2,4 и т.д..
Когда я пытаюсь реализовать это, я получаю вывод, как показано на снимке экрана, т. Е. Когда какие-либо данные textView
больше, так что они переносятся на 2-ю строку, тогда текст не отображается должным образом.
Также , хотя xml
содержит gravity="top"
, в некоторых строках по-прежнему остается свободное место.
И, см. Ниже xml
, в котором используются параметры alignTop
и alignBottom
, однако 2-я строка не получает цвет фона надлежащим образом, поскольку ее размер эквивалентен 2 строкам.
ПРИМЕЧАНИЕ: Даже если я использую COLOR вместо IMAGE для фона, результат будет таким же. Так что я думаю, проблема не связана с размерами изображения.
фрагмент метода getView ()
if (position % 2 == 0)
holder.l1.setBackgroundResource(R.drawable.cellbg);
// l1 is reference of LinearLayout used in below xml.
else
holder.l1.setBackgroundResource(R.drawable.cellbg1);
структура списка (xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/tableLayout"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/FirstText"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:gravity="top"
android:textSize="9sp"/>
<TextView
android:id="@+id/SecondText"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:gravity="top"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"
android:textSize="9sp"/>
<TextView
android:id="@+id/ThirdText"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:gravity="top"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"
android:textSize="9sp"/>
<TextView
android:id="@+id/FourthText"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="top"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"/>
<ImageView
android:id="@+id/ivarrow"
android:layout_width="15dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"
android:paddingTop="5dp"
android:gravity="top"/>
</LinearLayout>
Что я делаю не так?