Как я могу динамически изменить цвет фона пользовательской сетки? У меня есть gridview и класс, который включает в себя состояние устройств. Поэтому, если устройство активно, его цвет в представлении сетки должен быть зеленым.
Я могу получить состояние каждого устройства, но не знаю, как и где реализовать это фоновое изменение. Я пытался изменить свой класс 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;
}
equals
для сравнения строк. не видел, молодец - person Erik   schedule 05.04.2014