我使用了四个搜索栏并且一个接一个地水平放置。现在如果我开始改变第一个搜索栏的进度,第一个搜索栏的进度应该改变。一旦第一个搜索栏达到100的进度,第二个搜索栏就应该开始改变。同样的流程也适用于第二和第三个搜索栏。
这可能吗?有人可以帮助我吗?
答案 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.
}
});
这将有助于您:)