我是一个新的安卓开发者,
由于安全原因,我想在我的登录操作中延迟输入,(只显示一个 ProgressDialog 2 秒,然后继续主程序)。我已经知道如何使用多线程编程来做到这一点,但是由于其他线程中没有任何事情发生,我想也许有一些方法可以在不使用后台工作人员的情况下做到这一点。
如果你能告诉我一个在android中做的简单方法,我会很高兴
谢谢
我是一个新的安卓开发者,
由于安全原因,我想在我的登录操作中延迟输入,(只显示一个 ProgressDialog 2 秒,然后继续主程序)。我已经知道如何使用多线程编程来做到这一点,但是由于其他线程中没有任何事情发生,我想也许有一些方法可以在不使用后台工作人员的情况下做到这一点。
如果你能告诉我一个在android中做的简单方法,我会很高兴
谢谢
我建议你使用不需要线程的Action Bar Sherlock 。打电话
setSupportProgressBarIndeterminateVisibility(boolean)
我认为学习这个 api 比使用线程更难,但新一代 Android(api 11 之后)应用程序通常使用操作栏进度。
您可以将主线程延迟 2 秒。
好吧,只是为了将来参考,我找到了另一种使用Timer解决这个问题的方法,我认为它比Background Thread更好,我创建了一个包装函数,它在特定时间后调用主事件
public void onClick(View view) {
try {
progressDialog = ProgressDialog.show(this, "sometitle", "somecontent");
/**
* input delay
*/
Timer delayWorker = new Timer();
TimerTask task = new TimerTask() {
public View view = null;
@Override
public void run() {
onClickAction(view);
this.cancel();
}
};
task.getClass().getField("view").set(task, view);
delayWorker.schedule(task, INPUT_DELAY);
} catch (Exception e) {
/**
* error occurred
*/
}
}
private void onClickAction(View view) {
/**
* actual action click
*/
}