以下显示的代码和截图显示listview
中的数据,其中包含3个textview
。无法在getView方法中正确设置背景图片
我试过getView()
方法Adapter
类中的以下代码,给背景图像交替行,即行号。 0,2,4等。
当我尝试实现这一点时,我得到了如屏幕截图所示的输出,即行没有得到适当的影响。
另外,请参考下面xml
其中alignTop
和alignBottom
参数被使用,仍然在Index
按钮点击,第二和第三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"/>
第一屏幕显示在应用程序启动时,在默认情况下,Gainers
按下按钮,列表结构。
第2个显示按下Index
按钮的实例。
第3个显示按下索引按钮后再次按下Gainers
按钮的实例。
第4个显示点击List item
时的布局。
我在做什么错?
任何帮助都将是生命保护!事情
由于一吨BUDDY ...只需添加'holder.l1.setBackgroundDrawable(d);'到位设置背景每个TextView的和它的工作。 但我没有得到为什么我应该设置背景时(计数%2!= 0),因为在这种情况下,表bg将自动使用。 – GAMA 2012-01-07 07:31:00
这一切都取决于你的getView方法......为了让它更快,你应该重用视图(这就是convertView参数),在这种情况下,你应该始终设置背景,因为你不知道你会得到什么。 – Matthieu 2012-01-07 07:35:41
但是如果我想为每个文本框分配不同的背景图片呢? – GAMA 2012-01-07 07:38:26