gpt4 book ai didi

java - 从按下按钮开始每秒运行一个方法

转载 作者:行者123 更新时间:2023-11-29 19:25:15 24 4
gpt4 key购买 nike

我需要一个计时器在我按下按钮(在按钮本身上)时启动,实时显示自按下按钮以来经过了多少秒。每当再次按下时,计时器将重置为 0 并再次开始递增

我知道这不是实现它的方法,按钮工作正常但计时器应该在 onCreate 中?我不确定这应该如何与按钮一起使用

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
downloadedImg = (ImageView) findViewById(R.id.imageView);
}

public void clickAsync(View view) {

new ImageDownloader().execute(downloadUrl);
int seconds = 0;
Button button = (Button) view;

button.setText("Seconds since clicked: " + seconds);
Timer timer = new Timer();

//each time button is clicked, time is reset to 0 and increments in real time
timer.scheduleAtFixedRate(new TimerTask()
{
public void run()
{
seconds = 0;
seconds++;
button.setText("Seconds since clicked: " + seconds);
}
}, 0, 1000);
}
}

最佳答案

另一种简单的方法是使用 Handler

mHandler = new Handler();

只需调用 updateSec();方法,点击一个按钮,它就会以一秒为间隔更新 sec

Runnable UpdateRunnable = new Runnable() {

@Override
public void run() {
updateSec();
}
};

public void updateSec() {
mSeconds++;
mHandler.postDelayed(UpdateRunnable, 1000);
}

例子

button.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
mSeconds = 0;
updateSec();//it'll update sec variable every second.
}
});

关于java - 从按下按钮开始每秒运行一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41523054/

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