Android 获取SeekBar触碰位置(无进度变化)

Android 获取SeekBar触碰位置(无进度变化),android,ontouchlistener,seekbar,Android,Ontouchlistener,Seekbar,我有一个简单的离散SeekBar表示从0到10的级数 SeekBar的进程是以编程方式定义的,因此我禁用了触摸事件,以防止用户更改其当前位置: mSeekBar.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return true;

我有一个简单的离散
SeekBar
表示从0到10的级数

SeekBar
的进程是以编程方式定义的,因此我禁用了触摸事件,以防止用户更改其当前位置:

mSeekBar.setOnTouchListener(new View.OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
            return true;
        }
    });
但是,我需要获得用户在
SeekBar
上触摸到的位置(无论其当前进度如何)

基本上,如果用户触摸第一个“点”,他将进入一个活动,如果他触摸第二个,他将进入另一个活动,等等。。。但这些操作都不应改变
SeekBar
的当前状态


我怎样才能做到这一点呢?

我没有找到任何方法来实现我想要的,所以我不得不找到一个小的解决办法

我刚刚在另一个上添加了第二个不可见的
SeekBar
,仅用于使用seekbarchanedListener处理触摸事件

为了使其透明,我使用了:

android:progressDrawable="@android:color/transparent"

另一个
SeekBar
与以前一样使用,仅用于显示进度信息。这样,我必须将行为分开。

以获得在seekbar使用中您接触的位置

int a=seekbar.getProgress()。

我不是这样做的:

  seekBar.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            float x = event.getX();
            float y = event.getY();

            return false;
        }
    });

希望这对我尝试使用onSeekBarChangeListener有所帮助,但如果我像代码片段中那样重写onTouch,则不会调用任何方法。如果我删除这个片段,用户就可以更改SeekBar的进度。
  seekBar.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            float x = event.getX();
            float y = event.getY();

            return false;
        }
    });