Android:在不挂起UI的情况下计算和更新TextView

时间:2012-02-04 22:30:02

标签: android task

所以我试图让SeekBar像油门一样运转。

当它处于中立位置(进度= 50)时,我的值不会改变。当SeekBar进度大于或小于50时,我从50获取该差异并使用它来计算推送到TextView的值。

这个值的加法或减法不会发生,因为进度已经改变,而是基于在该进度点保持多长时间。这意味着距离你越远,值越高,或者向下移动越快。

我的第一个想法是一个有一个while循环睡眠然后更新了值的Thread。我在全球范围内存储了SeekBar的进度。这适用于计算我的值,但由于它不在UI线程上运行,我无法从中更新UI。

我怎么能让这个“Gas Pedal”SeekBar工作?

2 个答案:

答案 0 :(得分:1)

这可以全部在UI线程中运行。使用postDelayed运行处理程序偶尔更新“速度表”(请求250毫秒似乎没问题)。但是,通常您的处理程序实际运行,您将使用实际时间流逝而不是请求的间隔来计算车速表更新。 (你必须在任何物理模拟中都这样做,因为无论你的更新函数被调用的次数或频率如何,现实世界都会继续运行。)

答案 1 :(得分:0)

您需要在这里使用AsyncTask