Пользователь не может взаимодействовать с Seekbar - PullRequest
1 голос
/ 07 апреля 2011

У меня есть одна панель поиска в моем пользовательском списке.Теперь я не хочу, чтобы пользователь менял прогресс на панели поиска вручную.так что мне нужно сделать?

как убрать возможность взаимодействия пользователя с SeekBar ...

Ответы [ 3 ]

3 голосов
/ 07 апреля 2011

Попробуйте отключить панель поиска с помощью setEnabled(false) сразу после того, как вы установите желаемое значение SeekBar

2 голосов
/ 01 июня 2013

setEnabled(false) работает, но, к сожалению, почему-то изменил пользовательский фон панели поиска.

Это была проблема для меня, поэтому я использовал это так:

seekProgress.setOnTouchListener(new OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            return true;
        }
    });
2 голосов
/ 17 июля 2011

решение ccheneson работает, но оно также меняет цвет панели поиска.если вы хотите оставить свой текущий ярко-зеленый с помощью панели поиска, используйте следующий код (также можно найти здесь в stackoverflow. спасибо! так что просто ссылаясь)

private void makeSeekbarUnchanable(ViewHolder holder) {
        holder.barRating.setOnSeekBarChangeListener( new OnSeekBarChangeListener() {

            int originalProgress;

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                //Nothing here..                
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

                originalProgress = seekBar.getProgress();
            }

            @Override
            public void onProgressChanged(SeekBar seekBar, int arg1, boolean fromUser) {
                if( fromUser == true){
                    seekBar.setProgress( originalProgress);
                }               
            }
        });
    }
...