我为 Android 开发了一个运行良好的录音应用程序。现在我想在TextView
. 我该如何实施?
问问题
10224 次
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.ChronometerDemo
ApiDemos 了解用法。
于 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 回答