用户无法与Seekbar交互

时间:2011-04-07 11:50:39

标签: android seekbar

我的自定义列表视图中有一个搜索栏。现在我不希望该用户手动更改搜索栏进度。所以我必须做什么?

如何删除用户与SeekBar交互的能力......

3 个答案:

答案 0 :(得分:3)

在您将所需的值设置为setEnabled(false)

后立即尝试使用SeekBar停用搜索栏

答案 1 :(得分:2)

ccheneson's solution有效,但它也会改变搜索栏的颜色。 如果你想使用搜索栏保留当前的亮绿色,请使用以下代码(也可以在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);
                }               
            }
        });
    }

答案 2 :(得分:2)

setEnabled(false)有效,但遗憾的是由于某种原因改变了自定义搜索栏背景。

对我来说这是一个问题,所以我用这种方式:

seekProgress.setOnTouchListener(new OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            return true;
        }
    });