Android:onActivityResult在激活intent之前不会显示布局

时间:2013-07-12 13:14:55

标签: android layout android-intent

我的代码如下:

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
}

我打算发生的事情是,要显示布局,应用程序要等待两秒钟,然后才能使用意图。反而发生的是,我等待结果的部分代码冻结这两秒,然后意图运行,完全绕过视图。

如何让我的代码按预期运行?

1 个答案:

答案 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);