1

我的自定义列表视图中有一个搜索栏。现在我不希望该用户手动更改搜索栏进度。那我该怎么办?

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

4

3 回答 3

3

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

于 2011-04-07T11:55:21.680 回答
2

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);
                }               
            }
        });
    }
于 2011-07-17T13:49:55.017 回答
2

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

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

seekProgress.setOnTouchListener(new OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            return true;
        }
    });
于 2013-06-01T18:42:41.840 回答