0

为什么这不会首先绘制布局,然后睡觉? 它在睡眠后正确显示下一个活动,但在睡眠之前不显示第一个屏幕。这是打算成为一个启动画面。为什么睡眠线程停止布局显示?

为了应该: - 设置内容视图(显示飞溅) - 创建线程。 - 运行线程 - 线程睡眠 - 线程开始新的活动。

只是,它似乎并没有像那样发生。任何帮助非常感谢

package nutterzUK.spinDroid.application; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class SpinDroidActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Thread myThread = new Thread(){ 
      public void run(){ 
       try { 
        Intent myIntent = new Intent(SpinDroidActivity.this, NextActivity.class); 
        this.sleep(5000); 
        startActivity(myIntent); 
        finish(); 
       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } 
     }; 

     myThread.run(); 
    } 
} 

回答

3

事实上,你并没有创造一个并发的情况。您正在UI线程中执行run()方法。

你想要做的调用是

myThread.start(); 

这同时启动线程。

+0

Oooh,开始。当然!我觉得这很愚蠢,谢谢Craigy! – ThePerson

+0

没问题。不要忘记说最好的方式表示感谢,接受答案 – Craigy

0

还有其他生命周期管理的东西发生在onCreate之后,并呈现UI之前。 setContentView()不是渲染UI的实际调用,它只是设置基本Activity类在渲染时使用的资源。