如何告诉seekbar开始在android中监听setOnSeekBarChangeListener()?

时间:2015-10-16 12:19:23

标签: android android-seekbar

我使用了四个搜索栏并且一个接一个地水平放置。现在如果我开始改变第一个搜索栏的进度,第一个搜索栏的进度应该改变。一旦第一个搜索栏达到100的进度,第二个搜索栏就应该开始改变。同样的流程也适用于第二和第三个搜索栏。

这可能吗?有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

这是一个快速片段,如果我确实理解了你的问题,那么解决方案将如下所示:

        SeekBar seekBar = new SeekBar(this);
        final SeekBar seekBar2 = new SeekBar(this);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                if (progress >= 100) seekBar2.setProgress(progress); // do the same for the other seekbars.
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });

第一个搜索栏达到100后,seekrBar2将在第一次进度后改变其当前进度 P.S这是一个片段代码,您可能需要跟进并相应地反映您的代码。

答案 1 :(得分:0)

Kosh代码的一个小改动:)

SeekBar seekBar1 = new SeekBar(this);
SeekBar seekBar2 = new SeekBar(this);
SeekBar seekBar3 = new SeekBar(this);

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        if (progress > 100) seekBar2.setProgress(progress-100); // do the same for the other seekbars.
    }
});

seekBar2.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        if (progress > 100) seekBar3.setProgress(progress-100); // do the same for the other seekbars.
    }
});

这将有助于您:)