我正在开发一个Android应用程序,我在其中使用搜索栏来显示值的增量。当我移动搜索栏并停止移动时,它给了我任何值,例如2.3,这很好。
但是,我想以这种方式处理搜索栏,当我移动搜索栏时,数字也应该改变。我的代码如下:
start=-10; //you need to give starting value of SeekBar
end=10; //you need to give end value of SeekBar
SeekBar seek=(SeekBar) findViewById(R.id.seekBar1);
seek.setProgress(start_position);
seek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "discrete = "+String.valueOf(discrete), Toast.LENGTH_SHORT).show();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
// TODO Auto-generated method stub
// To convert it as discrete value
float temp=progress;
float dis=end-start;
discrete=(start+((temp/100)*dis));
}
});
答案 0 :(得分:1)
检查您是否未设置文本或使用 onProgressChanged 中的Toast消息,每次移动搜索栏时都会触发该消息,因此请执行 onProgressChanged
检查以下代码段: -
@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
// TODO Auto-generated method stub
// To convert it as discrete value
float temp=progress;
float dis=end-start;
discrete=(start+((temp/100)*dis));
Log.e("value is -->",String.valueOf(discrete));
}
});
看到你的吐司适用于 onStopTrackingTouch ,当移动停止时会触发。 使用上面的内容并检查logcat的值,然后您可以执行所需的功能。