当前位置: 首页 > 知识库问答 >
问题:

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

晏永康
2023-03-14

我有一个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个答案

宗政财
2023-03-14

这是可行的,但是一旦值在后端发生变化,它就不会立即得到反映

当您的后端值发生更改时,无法触发。

直到再次调用resume函数。

只有当活动创建或导航回活动时,活动的恢复方法才会调用。因此,您只能更新一次文本视图。

请给我一个解决办法,这对我很重要。

解决方案是实现定时器任务来定期调用你的线程,你会在这里找到示例如何使用定时器任务来运行线程?

希望它能帮助你解决你的问题。

胥康安
2023-03-14

没有额外的代码,就无法立即反映这一点。您需要在值“背面更改”后手动调用setText。您可能需要创建触发器或“监听器式代码”。

茅秦斩
2023-03-14

试试下面的方法!它将每秒刷新一次。

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
 }


};

运行它使用

runnable.run();

要阻止它,请使用

runnable.removeCallbacks(handler);
 类似资料:
  • 我希望有Apache Ignite经验的人能够帮助指导我的团队找到关于Apache Ignite新设置的答案。 数据从许多分布式传感器中不断产生,并流进我们的数据库。每个传感器每秒可能提供许多更新,但通常每秒生成<10个更新。 null 查询相当复杂,需要在时间上进行重要的(和动态的)回溯。一个查询可能需要来自一个站点中多个传感器的数据,但所需的传感器是动态确定的。大多数连续查询只需要最近几个小时

  • 问题内容: 我目前正在Linux系统上以python编写程序。目的是在发现特定字符串后读取日志文件并执行bash命令。日志文件正在被另一个程序不断写入。 我的问题 :如果使用该方法打开文件,我的Python文件对象将随着其他程序写入实际文件而更新,还是我必须在一定时间间隔内重新打开文件? 更新 :感谢到目前为止的答案。我也许应该提到,该文件是由Java EE应用程序写入的,所以我无法控制何时将数据

  • 问题内容: 我们有一个在生产环境中运行的Web应用程序,有时客户抱怨该应用程序的运行速度很慢。 当我们检查应用程序和数据库的运行状况时,我们发现这个“宝贵的”查询同时由多个用户执行(因此给数据库服务器带来了极高的负载): 我们的应用程序不执行此查询,我相信它是一个Hibernate内部查询。我几乎找不到关于为什么Hibernate进行此繁重查询的信息,因此非常感谢您对如何避免它的任何帮助! 生产环

  • 当然还有很多类似的问题,我真的通读了,但是没有一个完全回答了我的问题: 我想在Google Play上更新我当前的应用程序(已经是prod),但它说我需要更改版本代码- 你必须知道,我在第一次上传时没有添加任何versionCode或versionName,这会导致问题吗? 我必须现在删除应用程序并重新上传吗?我肯定使用了相同的密钥库和凭据 完成的步骤: 更新了Androidanifest.xml

  • 所以,我在做一些需要我知道设备上的另一个应用程序何时更新的事情。所以我的问题很简单,让我们说YouTube或Spotify在应用程序更新时发送广播,如果是这样,我需要用我的广播接收器捕捉什么。

  • 我们有一个应用程序,利用在应用程序计费。我们看到的问题如下: 当使用较高版本代码的构建被上传到Play Developer控制台时,In App Billing将停止在设备上的应用程序(使用较低版本代码)上工作,表示“应用程序未配置为计费”。 这很好,在测试的时候,但问题是--当应用程序在Google Play商店中时,会有什么行为?当您替换应用程序(以执行更新)时,处于野生状态(具有较低版本代码