gpt4 book ai didi

android - 秒表逻辑

转载 作者:IT老高 更新时间:2023-10-28 22:05:39 25 4
gpt4 key购买 nike

我想在 android 中开发一个简单的秒表逻辑。

单击 ListView 时计时器应启动,单击按钮时计时器应停止。任何人都可以请指导我。任何示例代码都会有很大帮助

最佳答案

使用 Stopwatch类(对于更高的精度使用 System.nanoTime())

在按钮按下时添加 Start() 事件和 Stop() 事件。您需要更新 UI,因此使用线程/处理程序组合。

这应该让你开始。

编辑:添加代码。 (很好的练习!:))

使用 Refresh_Rate 配置 UI 的更新频率。

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class Main extends Activity implements OnClickListener{

final int MSG_START_TIMER = 0;
final int MSG_STOP_TIMER = 1;
final int MSG_UPDATE_TIMER = 2;

Stopwatch timer = new Stopwatch();
final int REFRESH_RATE = 100;

Handler mHandler = new Handler()
{
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case MSG_START_TIMER:
timer.start(); //start timer
mHandler.sendEmptyMessage(MSG_UPDATE_TIMER);
break;

case MSG_UPDATE_TIMER:
tvTextView.setText(""+ timer.getElapsedTime());
mHandler.sendEmptyMessageDelayed(MSG_UPDATE_TIMER,REFRESH_RATE); //text view is updated every second,
break; //though the timer is still running
case MSG_STOP_TIMER:
mHandler.removeMessages(MSG_UPDATE_TIMER); // no more updates.
timer.stop();//stop timer
tvTextView.setText(""+ timer.getElapsedTime());
break;

default:
break;
}
}
};

TextView tvTextView;
Button btnStart,btnStop;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvTextView = (TextView)findViewById(R.id.TextView01);

btnStart = (Button)findViewById(R.id.Button01);
btnStop= (Button)findViewById(R.id.Button02);
btnStart.setOnClickListener(this);
btnStop.setOnClickListener(this);

}

public void onClick(View v) {
if(btnStart == v)
{
mHandler.sendEmptyMessage(MSG_START_TIMER);
}else
if(btnStop == v){
mHandler.sendEmptyMessage(MSG_STOP_TIMER);
}
}
}

关于android - 秒表逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com