如何在Android应用程序中非常频繁地更新文本

时间:2013-11-27 05:19:17

标签: java android user-interface

我有一个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函数为止。

请给我一个解决方案来解决这个问题,对我来说非常重要。

3 个答案:

答案 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?

希望它可以帮助您解决您的问题。