1

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 の背景色は変わりますが、指定した色は変わりません。

運が悪いビューを設定するために、さまざまな値を試しました。私が見逃している些細なことはありますか?

助けてくれてありがとう。

4

1 に答える 1

1

代わりにこれを試すことができます:

if (RSVPState == 1) {
    RSVPIndicator.setBackgroundResource(R.color.GuestAccepted);
}
else if (RSVPState == 0) {
    RSVPIndicator.setBackgroundResource(R.color.GuestDeclined);
}
于 2013-06-15T02:17:29.243 に答える