gpt4 book ai didi

java - Android: "Auto refresh"一段时间后

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:27 25 4
gpt4 key购买 nike

我搜索了如何为我的程序执行“自动刷新”或可运行方法,我看到了一些关于处理程序和线程的帖子...我认为我搜索的是一个线程,但我无法让程序运行......让我向您展示一些代码:

refresh.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
getUrlText();
if (time.getText().toString().equals("")
|| time.getText().toString().equals("0")) {
mins = 0;
} else {

mins = Integer.parseInt(time.getText().toString());
setTimer(mins);
t.start();


}

}

private void setTimer(int mins) {
miliSecTime = mins * 60 * 1000;

}
});

t= new Thread() {
@Override
public void run() {
long start = System.currentTimeMillis();

while (true) {
long time = System.currentTimeMillis() - start;
int seconds = (int) (time / 1000);
if (seconds > miliSecTime) {
getUrlText();
start = System.currentTimeMillis();

}
}
}
};
}

因此,这部分代码应该从用户那里获取一个数字,然后执行getUrlText();每 x 分钟,其中 x 是用户输入的数字...我的问题应该在运行中,但我不知道是什么......预先感谢您的帮助:)

最佳答案

这是一种方法。

在您的 Activity 中声明这些:

Handler handler = new Handler();
Runnable timedTask = new Runnable(){

@Override
public void run() {
getUrlText();
handler.postDelayed(timedTask, 1000);
}};

然后设置你的onClick:

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
getUrlText();
handler.post(timedTask);
}
});

这将每 1000 毫秒执行一次 timedTask。根据需要增加此数字。

我不确定你在用 mins 等做什么但是把你所有需要定期执行的逻辑放到 timedTask Runnable 。希望这是有道理的。

关于java - Android: "Auto refresh"一段时间后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17113526/

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