可能重复:
how to update the textview variable for every 5 seconds
我有两个任务要同时使用相同的数据文件。一个是读取txt文件并在chartview中绘制它。另一项任务是使用绘制的数据进行计算。我的Android应用程序布局应该在chartview上方的textview中具有这些计算结果,并且它应该持续更新5秒,同时绘图在图表中动态进行。
我遇到第二个任务的问题 - 更新textview中的值,该值在while循环中运行。我使用过Handler,Asynctask,Thread,Wait。它完美地作为java app.But,它作为一个Android应用程序工作。我的应用程序强制关闭或在启动之前采取延迟(即)应用程序仅在给定延迟后打开并显示while循环执行的最后一个值。我也在背景中做了这个,但它影响了绘图。
while(p[y1]!=0)
{
rr = ((p[y1]-p[y1-1]));
double x = rr/500;
HR = (int) (60/x);
final Handler handler=new Handler();
handler.post(runnable);
final Runnable runnable=new Runnable()
{
@Override
public void run()
{
hr.setText(String.valueOf(HR));
handler.postDelayed(runnable, 5000);
}
};
y1++;
}
我希望hr值每5秒更新一次,而不会影响图表。任何人都会帮忙。在此先感谢您的帮助。
答案 0 :(得分:0)
我在代码下面你有一个while循环中的线程,但是你应该在一个thread.let内部循环我知道你是否面临任何问题。
boolean isAlive = true; //change it to falst whenever u want to stop the thread
class localT extends Thread {
@Override
public void run() {
while(isAlive) {
try {
sleep(5000);
textView.setText("yourChanging text");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
super.run();
};
}
使用类似localThread.start()的东西; ,kill //在暂停时停止此线程,在销毁时停止。