java - 搜索栏与计时器同步

标签 java android

我是 Android 编程新手,我正在尝试弄清楚如何将搜索栏与我的计时器链接起来。在我的程序中,我允许用户输入一个时间,然后单击启动计时器,然后该计时器将该值发送到 TextView 并减少秒数直到完成。我希望搜索栏能够“跟随”。任何帮助,将不胜感激!

我有一个搜索栏可以跟随计时器,但现在它太不稳定了......有没有一种简单的方法可以顺利进行?

public void startTimer() {
    int min = Integer.parseInt(edit_minute.getText().toString());
    int sec = Integer.parseInt(edit_second.getText().toString());
    int value = (min * 60) + sec;
    seek_bar.setMax(value *10000);

    new CountDownTimer(getValues(), 1000) { // adjust the milli seconds here

        public void onTick(long millisUntilFinished) {


            text1.setText(""
                    + String.format(
                            FORMAT,
                            TimeUnit.MILLISECONDS
                                    .toHours(millisUntilFinished),
                            TimeUnit.MILLISECONDS
                                    .toMinutes(millisUntilFinished)
                                    - TimeUnit.HOURS
                                            .toMinutes(TimeUnit.MILLISECONDS
                                                    .toHours(millisUntilFinished)),
                            TimeUnit.MILLISECONDS
                                    .toSeconds(millisUntilFinished)
                                    - TimeUnit.MINUTES
                                            .toSeconds(TimeUnit.MILLISECONDS
                                                    .toMinutes(millisUntilFinished))));
            seek_bar.setProgress((seek_bar.getProgress() + 1));
        }

        public void onFinish() {
            text1.setText("done!");
        }
    }.start();

最佳答案

您只需从 CountDownTimer 更新它。首先,创建一个实例变量:

SeekBar progressBar;

onCreate 中,获取对搜索栏的引用:

progressBar = (SeekBar) findViewById(R.id.seek_bar_current);

启动计时器后,告诉progressBar它应该达到的最大值:

progressBar.setMax(); // How ever long the timer will run for

然后在CountDownTimer中,更新进度:

progressBar.setProgress(); // The total time, minus millisUntilFinished

关于java - 搜索栏与计时器同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23726849/

相关文章:

Android - ListView 仅显示一行

java - 识别输入来自嵌套列表中的特定列表

java - 如何在Java中从CNAME获取主机名?

java - 如何从不同的表获取值到jTable.Netbeans和H2数据库

java - 实现 java.util.Collection<E> 和重写方法时出现问题

android - gradle 任务只运行最后一个命令

Java泛型——寻找一种方法来告诉我泛型类型的父类(super class)型

java - 数据绑定(bind)不适用于大写字母包名称

java - Android 中 float 增量的问题

android - Firebase 云消息传递 - 响应 JSON 中的 "success"和 "failure"