-1

我为 Android 开发了一个运行良好的录音应用程序。现在我想在TextView. 我该如何实施?

4

4 回答 4

7

使用 CountDownTimer 因为据我所知,当时您录制时可能 TimerTask 不起作用

CountDownTimer t;

t = new CountDownTimer( Long.MAX_VALUE , 1000) {

        @Override
        public void onTick(long millisUntilFinished) {

            cnt++;
            String time = new Integer(cnt).toString();

            long millis = cnt;
               int seconds = (int) (millis / 60);
               int minutes = seconds / 60;
               seconds     = seconds % 60;

               txtcount.setText(String.format("%d:%02d:%02d", minutes, seconds,millis));

        }

        @Override
        public void onFinish() {            }
    };

启动定时器 t.start(); 停止定时器 t.cancel();

于 2012-11-30T05:50:09.900 回答
2

用来android.widget.Chronometer记录时间。

请参阅com.example.android.apis.view.ChronometerDemoApiDemos 了解用法。

于 2012-11-30T05:51:25.813 回答
1

您可以在 android 中使用 Timer 和 TimerTask。检查这里... http://android.okhelp.cz/timer-task-timertask-run-cancel-android-example/

于 2012-11-30T05:49:37.030 回答
1

当您开始录制时启动计时器

这里是代码 int minute =0, seconds = 0, hour = 0;

textView = (TextView) view.findViewById(R.id.textView1);
final Timer t = new Timer("hello", true);
t.schedule(new TimerTask() {

@Override
public void run() {
    textView.post(new Runnable() {

    public void run() {
        seconds++;
        if (seconds == 60) {
        seconds = 0;
        minute++;
        }
        if (minute == 60) {
        minute = 0;
        hour++;
        }
        textView.setText(""
            + (hour > 9 ? hour : ("0" + hour)) + " : "
            + (minute > 9 ? minute : ("0" + minute))
            + " : "
            + (seconds > 9 ? seconds : "0" + seconds));

    }
    });

    }
    }, 1000, 1000);

    view.findViewById(R.id.stop).setOnClickListener(
    new OnClickListener() {

    public void onClick(View v) {
        t.cancel();
    }
    });
于 2012-11-30T05:48:07.700 回答