为ListView Android设置视图属性

时间:2013-06-15 00:44:15

标签: java android android-listview

我一直在尝试覆盖适配器中的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的背景颜色确实发生了变化,但不是我指定的颜色。

我尝试了很多不同的值来设置视图而没有运气。我缺少一些微不足道的东西吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

也许你可以试试这个:

if (RSVPState == 1) {
    RSVPIndicator.setBackgroundResource(R.color.GuestAccepted);
}
else if (RSVPState == 0) {
    RSVPIndicator.setBackgroundResource(R.color.GuestDeclined);
}