解决方法
SeekBar扩展了ProgressBar.
ProgressBar有一个方法
public void setMax(int max)
因为它只接受int,所以你必须从int值进行一些转换才能获得你所追求的浮点数.
像这样的东西应该做的伎俩:
mSeekBar.setMax(4); //max = 4 so the possible values are 0,1,2,3,4 seekbar.setOnSeekBarChangeListener( new OnSeekBarChangeListener(){ public void onProgressChanged(SeekBar seekBar,int progress,boolean fromUser) { // TODO Auto-generated method stub Toast.makeText(seekBar.getContext(),"Value: "+getConvertedValue(progress),Toast.LENGTH_SHORT).show(); } public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } });
这部分将在你的onCreate()中,你必须使用findViewById()或其他东西来获取对mSeekBar的引用.
public float getConvertedValue(int intVal){ float floatVal = 0.0; floatVal = .5f * intVal; return floatVal; }