Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 执行操作后,如何延迟新操作的启动?_Android - Fatal编程技术网

Android 执行操作后,如何延迟新操作的启动?

Android 执行操作后,如何延迟新操作的启动?,android,Android,我有一个变量,我把它设为3。每次单击按钮时,它都会递减,并执行所需的操作。当它达到0时,“我想要”操作应在屏幕上显示一段时间,然后移动到新活动 但问题是,当它达到0时,它不会保持一段时间,以便用户看到执行了什么操作,它只是跳转到下一页。。。 有没有办法做到这一点 我使用的代码是: if(ch==0) { try { Thread.sleep(15*1000); startActivity(new Intent("com.example.quizproject.Menu"

我有一个变量,我把它设为3。每次单击按钮时,它都会递减,并执行所需的操作。当它达到0时,“我想要”操作应在屏幕上显示一段时间,然后移动到新活动

但问题是,当它达到0时,它不会保持一段时间,以便用户看到执行了什么操作,它只是跳转到下一页。。。 有没有办法做到这一点

我使用的代码是:

if(ch==0)
{
try {

        Thread.sleep(15*1000);
    startActivity(new Intent("com.example.quizproject.Menu"));
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}
使用此代码后,变量达到0,它不会完成上一个操作,而是暂停然后移动到下一个活动


此问题有任何可能的解决方案吗?

为什么希望线程休眠?您将查找主线程,用户将不会进入意图,因为线程(睡眠)在意图之前

这就是为什么

因此:


while(ch您可以创建一个扩展线程的类,例如
MyThread

public class MyThread extends Thread {

    SampleActivity sampleActivity;

    public MyThread(SampleActivity sampleActivity){
        this.sampleActivity = sampleActivity;
    }



        public void run() {
            try {
                sleep(15*1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            Intent i = new Intent(this.sampleActivity, Asleep.class);
            sampleActivity.startActivity(i);
        }

}      
编辑
然后在您想要启动活动时使用它,这里的
sampleActivity
是第一个活动(第一个问题),而
sleep
是15秒后出现的活动(第二个问题)。例如,在
sampleActivity
中单击按钮的侦听器,执行以下操作:

MyThread mt = new MyThread(this);
mt.start();

我正在制作一个应用程序我遇到的问题是,我想在同一活动中开始下一个操作之前等待…我在用户选择一个选项后进行测验,我想等待一秒钟以显示答案,然后下一个问题出现…但用户无法立即看到答案,它将移动到下一个问题…那么如何创建下一个问题的延迟…我在工作中使用dis…创建2秒延迟。Handler Handler=new Handler();Handler.postdayed(new Runnable(){public void run(){my_button.setBackgroundResource(R.drawable.defaultcard);},2000);感谢您的建议我正在制作一个应用程序我遇到的问题是我想在同一活动中开始下一个操作之前等待…我在用户选择一个选项后进行测验我想等待一秒钟以显示答案,然后下一个问题…但用户无法在移动到nex时立即看到答案t问题…那么如何为arives的下一个问题创建延迟…只需显示一个带有Async的进度条?我不建议等待,但您可以强制用户按住后退按钮,然后进入下一个问题。与往常一样,如果您觉得我的答案提供了信息,请按我的答案打勾。我使用dis它工作。。。。创建2秒延迟。Handler Handler=new Handler();Handler.postDelayed(new Runnable(){public void run(){my_button.setBackgroundResource(R.dravable.defaultcard);},2000);感谢你的建议好的,如果我的问题对你有任何帮助,请点击大勾。
MyThread mt = new MyThread(this);
mt.start();