什么是使输入延迟最简单的方法

时间:2013-02-10 14:31:48

标签: android

我是一名新的Android开发人员,

出于安全原因,我想在我的登录操作中输入延迟,(只需显示ProgressDialog 2秒钟,然后继续主程序)。我已经知道如何使用MultiThread编程来实现它,但由于其他线程中没有任何内容,我想也许可以通过某种方式在不使用后台工作程序的情况下完成它。

如果你能告诉我一个简单的方法在android

中做到这一点,我会很高兴

Thanx

3 个答案:

答案 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
       */

 }