我为Android开发了一个工作正常的录音应用程序。现在我想以TextView
显示录制时间。我该如何实施呢?
答案 0 :(得分:4)
使用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();
答案 1 :(得分:2)
使用android.widget.Chronometer
记录时间。
请参阅ApiDemos中的com.example.android.apis.view.ChronometerDemo
了解使用情况。
答案 2 :(得分: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();
}
});
答案 3 :(得分:1)
你可以在android中使用Timer和TimerTask。 点击这里...... http://android.okhelp.cz/timer-task-timertask-run-cancel-android-example/