2016-02-06 3 views
0

Я собираюсь создать динамический ListView, отображающий данные с сервера с помощью json. Я хочу, чтобы setBakgroundColor зависел от некоторого объекта в данных. , например: являетсяsetBackgroundColor (ListView) зависит от данных

JSON
{"Order":[{"id":1, 
"situation":"notchecked", 
"status":"Processing"}, 
{"id":2, 
"situation":"checked", 
"status":"Processing"}]} 

если ситуация == notchecked

convertView.setBackgroundColor(Color.GREEN); 

это мой взгляд, в BaseAdapter

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 

     if (convertView == null) { 
      convertView = inflater.inflate(R.layout.complete_order_row, parent, 
        false); 
       if()......{ 

       convertView.setBackgroundColor(Color.GREEN); 
       } 
     } 


     TextView situation = (TextView) convertView 
       .findViewById(R.id.situation); 
     situation.setText(catList.get(position).getSituation()); 
     TextView status= (TextView) convertView 
       .findViewById(R.id.status); 
     status.setText(catList.get(position).getStatus()); 
     TextView id= (TextView) convertView 
       .findViewById(R.id.id); 
     id.setText(catList.get(position).getId)); 

     return convertView; 

    } 

ответ

1

Вы почти получили это право, но вам необходимо установить это каждый раз, как при конвертировании convertView, а когда это не так:

if (convertView == null) { 
     convertView = inflater.inflate(R.layout.complete_order_row, parent, 
       false); 
     //... 
    } 
    TextView situation = (TextView) convertView 
      .findViewById(R.id.situation); 
    situation.setText(catList.get(position).getSituation()); 
    if (catList.get(position).getSituation().equals("notchecked")) { 
     convertView.setBackgroundColor(Color.GREEN); 
    } else { 
     convertView.setBackgroundColor(Color.BLUE); 
    } 
+0

спасибо, сэр, я пробовал это раньше, и я снова проверил, что он показал эту ошибку ", getSituation (String) в ситуации нельзя применить к()" " –

+0

Прошу прощения по ошибке Я размещаю комментарий незавершенный, я отредактировал agin –

+1

, тогда исправьте код в своем вопросе, потому что все, что я вижу, это то, что вы публикуете там. В соответствии с примером, который вы дали getSituation(), должен работать. Или добавьте еще несколько частей кода, отредактировав вопрос – Gavriel