Android searchbar textView - PullRequest
       15

Android searchbar textView

1 голос
/ 14 февраля 2020

У меня есть 3 панели поиска, чтобы изменить цвет фона. Каждая панель поиска имеет текстовое представление от 0 до 255 для отображения цветового кода в RGB. Когда я перемещаю одну из панели поиска, RGB textView меняется на всех. Как я могу указать, чтобы только текстовое представление, принадлежащее панели поиска, которое я перемещаю, изменится?

  private SeekBar.OnSeekBarChangeListener seekBarChangeListener
        = new SeekBar.OnSeekBarChangeListener()
{

    TextView seekBar1Progress;
    TextView seekBar2Progress;
    TextView seekBar3Progress;


    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,
                                  boolean fromUser) {

        updateBackground();
        seekBar1Progress = (TextView) findViewById(R.id.viewSlider1);
        seekBar1Progress.setText(" " + progress);
        seekBar2Progress = (TextView) findViewById(R.id.viewSlider2);
        seekBar2Progress.setText(" " + progress);
        seekBar3Progress = (TextView) findViewById(R.id.viewSlider3);
        seekBar3Progress.setText(" " + progress);
    }
    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
    }
};

1 Ответ

1 голос
/ 14 февраля 2020

Вы получаете объект SeekBar в методе OnProgressChanged, вы можете сравнить его идентификатор с вашим отдельным SeekBar. Попробуйте следующий код:

@Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                                      boolean fromUser) {
            if(seekBar.getId()==R.id.seekBar1){
                seekBar1Progress = (TextView) findViewById(R.id.viewSlider1);
                seekBar1Progress.setText(" " + progress);
            }else if(seekBar.getId()==R.id.seekBar2){
                seekBar2Progress = (TextView) findViewById(R.id.viewSlider2);
                seekBar2Progress.setText(" " + progress);
            }else{
                seekBar3Progress = (TextView) findViewById(R.id.viewSlider3);
                seekBar3Progress.setText(" " + progress);
            }


        }

Надеюсь, это поможет !!

...