2013-07-26 6 views
3

Мне нужно изменить цвет фона в виде списка динамически на основе строкового значения (JSON). Я хочу изменить цвет фона, если текст в поле TAG_SEVERITY «критический». Ниже я попытался, но с кодом он меняет поле серьезности на синий независимо от текста. I t будет равно, если цвет строки будет изменен вместо цвета фона поля. Я совершенно новичок в этом.динамически меняет цвет фона listView

SimpleAdapter adapter = new SimpleAdapter(this, mCommentList, 
      R.layout.single_post, new String[] {TAG_SEVERITY, TAG_TITLE }, new int[] { R.id.severity, R.id.rTitle});adapter.setViewBinder(new SimpleAdapter.ViewBinder() { 

     @Override 
     public boolean setViewValue(View view, Object data, 
       String textRepresentation) { 
      int v=view.getId(); 
      if(v==R.id.severity && String.valueOf(data.toString()).contentEquals("Critical")){ 
       ((View) view.getParent()).setBackgroundColor(Color.BLUE); 
      } 
      TextView TV=(TextView) view; 
      TV.setText(data.toString()); 
      return true; 
     } 
    }); 

    setListAdapter(adapter); 
+0

Вы пытались установить контрольную точку, чтобы понять, почему она входит в оператор if, если вы считаете, что это не так? Почему значение строки всегда критично по какой-то причине? –

+0

I, ve chacked Json string и его не всегда «критический» – user2602159

+0

, но как насчет точки останова во время выполнения оператора if? –

ответ

1

Я думаю, что, установив фон для view.getParent(), вы устанавливаете фон для всего ListView. Вы пытались использовать только view.setBackground()?

Другой альтернативой является создание собственного класса адаптера и установка цвета фона в методе getView() на основе серьезности.

+0

Попробуем это, но String.valueOf (data.toString()). ContentEquals («Critical») не работает. Есть идеи? – user2602159

+0

Когда вы говорите, что он не работает, он возвращает синтаксическую ошибку, ошибку времени выполнения или логическую ошибку в этом случае? –

+0

Не работает, но поле «серьезность» является синим независимо от текста. – user2602159

Смежные вопросы