我在android中使用slider
。 slider
用于捕获百分比,因此最小值为0%,最大值为100%。我已经编写了代码来这样做。我现在希望将滑块递增/递减1%,我还希望将实际值写入SQLite
DB。我没有将值输出到EditText
,我只需要知道如何从滑块获取值,我很难找到我理解的文档。
请看下面的方法。任何人都可以请求协助,因为我不知道如何完成这项工作。
提前谢谢大家。
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);
}
答案 0 :(得分:0)
为了获得当前设置的进度条的值,您可以在侦听器中使用onProgressChanged方法。 “progress”值是进度条的当前值。布尔值“fromUser”可用于确定是否使用setProgress更新了值,或者用户通过拖动拇指来更改值。根据您尝试完成的内容,如果使用简单的if语句从用户更改该值,则可以忽略该值:
if(fromUser){`
`return;
}
现在,为了避免在UI线程上进行大量更新,您可以使用Handler捕获并发布从onProgressChanged方法更改的位置,或者只是将该方法的进度值保存到某个外部变量并执行更新“onStopTrackingTouch”方法