Android滑块/SeekBar增量值
我在android中使用滑块。滑块用于捕获百分比,因此最小值为0%,最大值为100%。我已经编写了这样做的代码。现在,我希望将滑块增加/减少1%,并且还希望将实际值写入SQLite DB。我没有将值输出到EditText,我只需要知道如何从滑块获取值,我正在努力找到我理解的文档 请看下面的方法。我不知道怎么做,谁能帮我一下吗 提前谢谢大家Android滑块/SeekBar增量值,android,slider,seekbar,Android,Slider,Seekbar,我在android中使用滑块。滑块用于捕获百分比,因此最小值为0%,最大值为100%。我已经编写了这样做的代码。现在,我希望将滑块增加/减少1%,并且还希望将实际值写入SQLite DB。我没有将值输出到EditText,我只需要知道如何从滑块获取值,我正在努力找到我理解的文档 请看下面的方法。我不知道怎么做,谁能帮我一下吗 提前谢谢大家 private static void pebbleTypeHandlerPercentage(Pebble pebble, LinearLayout lay
private static void pebbleTypeHandlerPercentage(Pebble pebble, LinearLayout layout, Context context, String key, PData value)
{
int id = getNextId();
getLabel(layout, context, value);
SeekBar seekBar = new SeekBar(context);
seekBar.setMax(100);
seekBar.setId(id);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener()
{
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
{
}
@Override
public void onStartTrackingTouch(SeekBar seekBar)
{
}
@Override
public void onStopTrackingTouch(SeekBar seekBar)
{
}
});
layout.addView(seekBar);
}
要获得进度条当前设置的值,可以在侦听器中使用onProgressChanged方法。进度值是进度条的当前值。布尔值fromUser可用于确定是使用setProgress更新了值,还是用户通过拖动拇指更改了值。根据您试图实现的目标,您可以通过一个简单的if语句忽略用户更改的值:
if(fromUser){`
`return;
}
现在,为了避免在UI线程上进行大量更新,您可以使用处理程序捕获并发布从onProgressChanged方法更改的位置,或者将该方法的进度值保存到某个外部变量,并在onStopTrackingTouch方法上进行更新