我一直在尝试为列表视图覆盖适配器中的getView()
以设置布局内视图的属性:
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.guest_list_row, null);
TextView name = (TextView) vi.findViewById(R.id.GuestName);
Button RSVPIndicator = (Button) vi.findViewById(R.id.RSVPState);
Invites invite = data.get(position);
name.setText(nameContact(invite.getUserID()));
int RSVPState = invite.getAttending();
if (RSVPState == 1) {
RSVPIndicator.setBackgroundColor(color.GuestAccepted);
}
if (RSVPState == 0) {
RSVPIndicator.setBackgroundColor(color.GuestDeclined);
}
return vi;
}
不幸的是,我在视图组件上调用的set方法似乎无济于事。 RSVPIndicator的背景颜色确实发生了变化,但是我指定的颜色没有变化。
我尝试了很多不同的值来设置视图,但是没有运气。我缺少什么琐碎的东西吗?
谢谢你的帮助。
最佳答案
也许您可以尝试以下方法:
if (RSVPState == 1) {
RSVPIndicator.setBackgroundResource(R.color.GuestAccepted);
}
else if (RSVPState == 0) {
RSVPIndicator.setBackgroundResource(R.color.GuestDeclined);
}