我是一名新的Android开发人员,
出于安全原因,我想在我的登录操作中输入延迟,(只需显示ProgressDialog 2秒钟,然后继续主程序)。我已经知道如何使用MultiThread编程来实现它,但由于其他线程中没有任何内容,我想也许可以通过某种方式在不使用后台工作程序的情况下完成它。
如果你能告诉我一个简单的方法在android
中做到这一点,我会很高兴Thanx
答案 0 :(得分:1)
我建议你使用Action Bar Sherlock不需要线程。只需致电
setSupportProgressBarIndeterminateVisibility(boolean)
我认为学习这个api比使用线程更难,但新一代Android(api 11之后)应用程序通常会使用操作栏进度。
答案 1 :(得分:0)
您可以延迟主线程2秒。
答案 2 :(得分:0)
嗯,仅仅为了将来的参考,我找到了另一种解决这个问题的方法,使用 Timer ,我认为它比后台线程更好,我创建了一个包装函数在特定时间后调用主要事件
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
*/
}