SeekBar onProgressChanged()的问题

时间:2014-12-25 08:39:09

标签: android seekbar android-seekbar

我有一些具体要求。我有一个寻求酒吧。现在假设进度为0,因此我将增加搜索栏,它必须直接50,当我增加搜索栏时,它必须直接转到100.它正常工作。但是现在当我减少进度然后它必须再次变为50,当我再次减小时它必须再次变为0。所以最后两个步骤没有发生。

@Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                boolean fromUser) {
            progress_value.setText(progress + "");
            if (progress > 1 && progress <= 50) {
                seek_bar.setProgress(50);
            }
            //seekBar.setSaveEnabled(true);
            if (progress ==100 ) {
                if(progress <100)
                seek_bar.setProgress(50);
            }

            if (progress > 50 && progress < 100) {
                seek_bar.setProgress(100);
            }
        }

1 个答案:

答案 0 :(得分:3)

对逻辑进行一些更改,例如

Boolean flag = true, flag1 = true;
seek_bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub

            int a = seekBar.getProgress();

            if (flag) {
                if (a <= 50 && a > 1) {
                    seek_bar.setProgress(50);
                    flag = false;
                }
            } else {
                if (a <= 50 && a > 1) {
                    seek_bar.setProgress(00);
                    flag = true;
                }
            }
            if (flag1) {
                if (a >= 50 && a < 100) {
                    seek_bar.setProgress(100);
                    flag1 = false;
                }
            } else {
                if (a >= 50 && a < 100) {
                    seek_bar.setProgress(50);
                    flag1 = true;
                }
            }

        }