Цвет кнопки не меняется в Android

Я пытаюсь изменить цвет текста на кнопке (создается динамически); При первом щелчке он работает, но при повторном щелчке он должен измениться. Но предыдущий цвет сохраняется и изменения цвета новой нажатой кнопки. Пожалуйста, предложите, где я делаю это неправильно. Ниже приведен код, который я использую.

final Button clickedBtn = (Button)ll.getChildAt(position);// ll is my linear layout
 bval = v.getId();//Bval is the button id
 String my = String.valueOf(bval);

 btag = (Integer) v.getTag();

 if(position>29 && position <=59){
  Log.d("position", String.valueOf(position).toString());
  Log.d("previous text is", preText);
  int sum = 30;
  sum = position - sum;      
  position = sum;

  for(int k=0; k< 30; k++){
   if(k!=btag){
    previousBtn.setText(Html
      .fromHtml("<b><font color='#1F383C'><strong><strong><big><big><big>"+ values[k] 
        + "<big><big><big><strong><strong></font><b>"));
    Log.d("value green", String.valueOf(k));
   }
   } 

  clickedBtn.setText(Html.fromHtml("<b><font color='#FF9000'><strong><strong><big><big><big>"
   + values[btag] + "<big><big><big><strong><strong></font><b>"));
  Log.d("value orange", String.valueOf(btag));

 }

1 ответ

Немного сложно понять твой код, потому что я не знаю точно, что ты хочешь делать, я скажу то, что понимаю, и тогда ты сможешь уточнить меня, и я смогу отредактировать мой ответ.

Допустим, у вас есть 3 кнопки, когда вы нажимаете одну, она получает один цвет, а две другие - другой. Итак, нажатая кнопка подсвечивается, это так?

Дополнительно вы устанавливаете button.settag(someValue), который? (Я собираюсь занять позицию)

Если это так, то вы проверяете положение> 29 и < 59, но в цикле (для установки цветов других кнопок) вы переходите от 0 до 30. И вы никогда не устанавливаете эти кнопки.

Так что попробуйте сделать внутреннее FOR от 29 до 59.

Если я все сделал неправильно, пожалуйста, скажите мне, чтобы отредактировать мой ответ.

Е.И.В.

Другие вопросы по тегам