【问题标题】:Parsing a string in clock format into int将时钟格式的字符串解析为int
【发布时间】:2013-08-24 04:24:50
【问题描述】:

我刚开始学习 Android,正在开发一个简单的计时器程序。到目前为止,我已经设置了代码来从传入的 int 创建计时器。该设计有一个开始按钮,它将启动计时器并使用新时间每秒刷新 TextView。

现在,我正在暂停和重新启动计时器。我的想法是在用户单击暂停时取消 CountDownTimer,并从显示用户暂停时间的 TextView 获取新 CountDownTimer 的新值(显示为 00:00)。

如何解析 TextView 中的字符串,获取分钟和秒的单独数字?

【问题讨论】:

  • 如果您可以访问计时器,为什么要从TextView 检索信息?

标签: java android timer


【解决方案1】:

好的,你可以分开字符串并得到分和秒 使用这个

String minute=textView1.getText().split(":")[0];
    String second=textView1.getText().split(":")[1];

您可以使用 Int 转换 String

int min=Integer.parseInt(minute);

或使用

int min=Integer.ValueOf(minute);

【讨论】:

  • 谢谢,这正是我需要的。我不得不稍微改变一下,改用 toString(),否则,一个很好的答案。
【解决方案2】:

试试这个:

Timer t=new Timer();

        t.schedule(new TimerTask() {

            @Override
            public void run() {
                final Date d = new Date();
                runOnUiThread(new Runnable() {

                    @Override
                    public void run() {
                        textView.setText(d.getMinutes() +":" + d.getSeconds());
                    }
                });
            }
        }, 0,1000);

【讨论】:

  • 这个runOnUiThread 方法是从哪里来的?我认为你的意思是你希望这段代码在 EDT(事件调度线程)上运行,在这种情况下你应该使用 SwingUtilities.invokeLater(Runnable);
  • runOnUiThread 是一个 Activity 类的方法。要使用此方法,您必须在 Activity 类中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-13
  • 2019-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
相关资源
最近更新 更多