Не могу изменить цвет отображаемого сообщения во фрагменте при анализе данных

#java #android #xml

#java #Android #xml

Вопрос:

Я хочу изменить цвет текста, который я проанализировал. Это зависит от raddiobutton, который является перечислением в моем коде. Я новичок в Android и ценю всю помощь! Вот мое перечисление:

 enum curricularNote{LECTURE, LAB, OTHERS};
  

Что бы я ни запускал, оно окрашивает мое сообщение только в красный цвет:

                 TextView tvMessage = view.findViewById(R.id.mesaj);
                if(notes.getCurNote().toString().equals("Lecture"))
                    tvMessage.setTextColor(Color.GREEN);
              else
                  if(notes.getCurNote().equals("Lab"))
                    tvMessage.setTextColor(Color.BLUE);
               else
             // else if(notes.getCurNote().equals("Others"))
                    tvMessage.setTextColor(Color.RED);
  

Комментарии:

1. Укажите код, в котором происходит изменение текущей заметки

2. Используя debug или написав System.out.println(notes.getCurNote().toString()) перед операторами if и проверьте, что на самом деле получается для notes.getCurNote().toString()

3. @HimashiRodrigo Это сработало с использованием инструкции, спасибо! Но я все еще не могу понять, почему раньше это не работало и почему это работает сейчас.

4. @HimashiRodrigo, по-видимому, просто добавив System.out.println(notes.getCurNote().toString()), решил проблему

Ответ №1:

Сначала установите значение в textview, затем установите цвет на основе значения:

 Textview t = (Textview)findViewById(R.id.tw_id);
    t.setText(value);
    
    
    if(value.equalsIgnoreCase("LECTURE")
     t.setTextColor(Color.GREEN);
    else if(value.equalsIgnoreCase("LAB")
     t.setTextColor(Color.BLUE);
    else if(value.equalsIgnoreCase("OTHER")
     t.setTextColor(Color.RED);