我有一个Android应用程序,我有一些文本视图,需要实时更改。所以请建议我如何经常更新文本视图。
这是我的代码: -
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
final Handler handler = new Handler();
Thread thread =new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Dt_textView.setText(//getting the value from a class object);
As_textView.setText("getting the value from a class object");
}
});
}
});
thread.start();
}
这样可以工作,但是一旦后端的值发生变化,就不会立即反映出来,直到再次调用resume函数为止。
请给我一个解决方案来解决这个问题,对我来说非常重要。
答案 0 :(得分:1)
尝试以下方法!它会每秒刷新一次。
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
public void run() {
Dt_textView.setText(//getting the value from a class object);
As_textView.setText(""getting the value from a class object);
/*
* Now register it for running next time
*/
handler.postDelayed(this, 1000); // refresh every 1000 ms = 1 sec
}
};
答案 1 :(得分:0)
没有办法立即反映,没有额外的代码。您需要在“后面更改”值后手动调用setText
。您可能需要创建触发器或“侦听器样式代码”。
答案 2 :(得分:0)
这有效,但一旦价值在后端发生变化,它就不会发生变化 立即反映
当您的后端值发生变化时,无法触发。
直到再次调用resume函数。
仅在活动创建或导航回活动时调用活动的恢复方法。因此,您只能将textView更新一次。
请给我一个解决方案来解决这个问题,对我来说非常重要。
解决方案是实现计时器任务以定期调用您的线程,您将在此处找到示例How do you use a TimerTask to run a thread?
希望它可以帮助您解决您的问题。