2012-02-04 43 views
0

所以我想让SeekBar的功能像油门踏板一样。Android:计算并更新TextView而不挂UI UI

当它处于中立位置(progress = 50)时,我的值不会改变。当SeekBar进度变得大于或小于50时,我从50中取出这个差值,并用它来计算一个被推送到TextView的值。

此值的加法或减法不会发生,因为进度发生了变化,而是基于在该进度点持有多长时间。这意味着距离你越远,价值越高,或者朝另一个方向越快。

我的第一个想法是一个线程有一个睡眠,然后更新值的while循环。我全局存储了SeekBar的进度。这用于计算我的价值,但因为它不能在UI线程上运行,我无法从中更新UI。

我怎样才能让这个“燃气踏板”SeekBar的工作?

回答

1

这可能会在UI线程中运行。使用postDelayed来运行处理程序以稍后更新您的“速度计”(请求250毫秒似乎确定)。然而,您的Handler通常会运行,您将使用实际的时间而不是请求的时间间隔来计算您的速度计更新。 (你必须在任何物理模拟中这样做,因为无论你的更新函数被调用的频率或多么不规则,真实世界都会持续运行。)