Промяна на персонализирания цвят на gridview bg

Как мога динамично да променя цвета на фона на персонализиран мрежов изглед? Имам мрежов изглед и клас, който включва състоянието на устройствата. Така че, ако дадено устройство е активно, цветът му трябва да е зелен в изгледа на мрежата.

Мога да получа състоянието на всяко устройство, но не съм сигурен как или къде да внедря тази промяна на фона.. Опитах се да променя в моя клас CustomGridView, но не работи правилно. Ще бъда благодарен, ако ми покажете или ми кажете начин да го направя правилно

ArrayList<IpPhone> data = new ArrayList<IpPhone>();

public CustomGridViewAdapter(Context context, int layoutResourceId, ArrayList<IpPhone> data) {
    super(context, layoutResourceId, data);
    this.layoutResourceId = layoutResourceId;
    this.context = context;
    this.data = data;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    RecordHolder holder = null; 
    ViewGroup vg = parent;

    if (row == null) {
        LayoutInflater inflater = ((Activity) context).getLayoutInflater();
        row = inflater.inflate(layoutResourceId, parent, false);

        holder = new RecordHolder();
        holder.txtTitle1 = (TextView) row.findViewById(R.id.txt_phoneNumber);
        holder.txtTitle2 = (TextView) row.findViewById(R.id.txt_ipAddress);
        holder.txtTitle3 = (TextView) row.findViewById(R.id.txt_phoneState);

        row.setTag(holder);
    } 
    else {

        holder = (RecordHolder) row.getTag();
    }

    //I tried this if else to change bg colors but it didnt work

    if(data.get(position).state == "0")
    {
        row.setBackgroundColor(Color.BLUE);
    }
    else if (data.get(position).state == "1"){
        row.setBackgroundColor(Color.RED);
    }

    IpPhone item = data.get(position);
    holder.txtTitle1.setText(item.getphoneNumber());
    holder.txtTitle2.setText(item.getipAddress());
    holder.txtTitle3.setText(item.getphoneLocation());
    return row;

}

Изходът


person mrgenco    schedule 05.04.2014    source източник
comment
малко гугъл, вижте това   -  person Erik    schedule 05.04.2014
comment
няма нищо различно във връзката, която предложихте, сър. Вече направих това в моя код..   -  person mrgenco    schedule 05.04.2014
comment
само мисъл, тъй като адаптерът използва повторно редове, поставете това, преди да тествате какъв цвят да поставите. row.setBackgroundColor(ПО ПОДРАЗБИРАНЕ); По този начин нулирате реда, преди да го промените. Може би нямате нужда от това, зависи дали състоянието == X може да бъде повече от 1 или 2   -  person Erik    schedule 05.04.2014
comment
благодаря ви сър :) промених състояние == X на state.equals(X) и работи..   -  person mrgenco    schedule 05.04.2014
comment
да, разбира се equals за сравнение на низове. Не го видях, добра работа   -  person Erik    schedule 05.04.2014