我的代码如下:
public void onActivityResult(int requestCode, int resultCode, Intent intent){
setContentView(R.layout.result); //this is the layout I want to be displayed
//do some stuff
long t0,t1;
t0=System.currentTimeMillis();
do{
t1=System.currentTimeMillis();
}
while (t1-t0<2000); //wait for two seconds
startActivityForResult(intent, 0); //do the intent
}
我打算发生的事情是,要显示布局,应用程序要等待两秒钟,然后才能使用意图。反而发生的是,我等待结果的部分代码冻结这两秒,然后意图运行,完全绕过视图。
如何让我的代码按预期运行?
答案 0 :(得分:2)
试试这个,创建Handler
并使用postDelayed()
方法,这样就不会冻结UI
public void onActivityResult(int requestCode, int resultCode, final Intent intent){
setContentView(R.layout.result); //this is the layout I want to be displayed
//do some stuff
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
startActivityForResult(intent, 0);
}
}, 2000);