我有以下 ListView :
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1" >
</ListView>
我想更新其前 n 列的背景颜色。
为此,我正在使用:
int numOfMessages=lst.length-lstNew.length;
ArrayAdapter<String> adpt = new ArrayAdapter<String>(Messages.this, android.R.layout.simple_list_item_1,lst);
lm.setAdapter(adpt);
for (int i=1;i<numOfMessages;i++)
{
tv.setText("Welcome " + i);
lm.getChildAt(i).setBackgroundColor(Color.BLUE);
tv.setText("Welcome : " + i);
}
但是线路有问题:
lm.getChildAt(i).setBackgroundColor(Color.BLUE);
因为此后控件不再进一步移动。
请帮我动态更改textview的背景颜色。
最佳答案
您可以通过以下方式获取:
ArrayAdapter<String> adpt = new ArrayAdapter<String>(Messages.this, android.R.layout.simple_list_item_1,lst){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
if(position==2){
v.setBackgroundColor(Color.BLUE);
}else if(position==4){
v.setBackgroundColor(Color.RED);
}
return v;
}
};
对于您想要的那一行,类似这样的事情......
关于android - ListView 背景颜色未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444796/