我无法通过实现 OnSeekBarChangeListener 接口(interface)来获取多个 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;
}
我期望每个 TextView 中不同 SeekBar 的输出,但我对每个 SeekBar 采取的进度值相同。
最佳答案
更好的方法是为每个 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) {
}
});
关于java - 通过实现 onSeekBarChangeListener 在 TextView 中设置多个搜索栏值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57427001/