Java 有没有办法在Android应用程序中持续更新方法?
我正在尝试创建一个应用程序,您可以在其中输入一系列按钮作为密码。当您按下第一个按钮时,一个方法将跟踪经过的时间,并在5秒时存储按钮按下数据Java 有没有办法在Android应用程序中持续更新方法?,java,android,Java,Android,我正在尝试创建一个应用程序,您可以在其中输入一系列按钮作为密码。当您按下第一个按钮时,一个方法将跟踪经过的时间,并在5秒时存储按钮按下数据 long recordingTime = 0; boolean isRecording = false; // start timer for total recording time if(!isRecording) { isRecording = true; recordingTime =
long recordingTime = 0;
boolean isRecording = false;
// start timer for total recording time
if(!isRecording) {
isRecording = true;
recordingTime = System.currentTimeMillis();
}
public void update() {
long currentTime = 0;
// get current time
currentTime = System.currentTimeMillis();
// check if timer is over 5 seconds
if(currentTime - recordingTime >= 5000) {
isRecording = false;
Context context = getApplicationContext();
CharSequence text = "Max password time reached.";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
有几种方法可以做到这一点,但这里有一种简单的方法可以做到:
view.postDelayed(new Runnable() {
@Override
public void run() {
//store data here
}
}, 5000);
你在寻找递归吗?你不需要不断地更新任何东西。您需要安排一个方法在5秒后启动才能进行递归工作吗?我不认为会这样,否则效率会很低。我怎样才能在5秒钟后找到一个方法来启动呢?下面是一个我认为你在寻找的修改后的示例:那么,在按下按钮后,我怎样才能让它运行呢?我希望计时器仅在第一次按下按钮后启动。您可以在onClickListener中设置一个标志,使其仅运行一次。类似于:如果(!hasFirstButtonBeenPressed){/*则运行代码*/}