我无法通过实现OnSeekBarChangeListener接口在多个TextView中获取多个SeekBar值。
通过匿名类,我已经实现了这个,但我希望我的应用程序以这种方式。
seekBar1.setOnSeekBarChangeListener(this);
}
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
switch (seekBar.getId()){
case R.id.seek1:{
seek1Val=String.valueOf(2000+i*1000);
tvAmount.setText(seek1Val);}
break;
case R.id.seek2:{
seek2Val = String.valueOf(0+i*.5);
tvRate.setText(seek2Val);
}
break;
}
我希望每个文本视图中都有不同搜索栏的输出,但我对每个搜索栏的进度价值相同。
最好为每个SeekBar
添加不同的setOnSeekBarChangeListener
。
或者,如果您不希望这样做,请使用tag
代替id
最好的是:
seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
seek1Val=String.valueOf(2000+i*1000);
tvAmount.setText(seek1Val);}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
seekBar2.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
seek2Val = String.valueOf(0+i*.5);
tvRate.setText(seek2Val);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});