线程不显示xml

时间:2014-05-28 14:47:00

标签: android

我正在尝试为我的应用程序创建一个加载屏幕,在MainActivity中我有一个名为timer的线程,它在5秒后启动下一个活动,但由于某种原因它没有显示xml ...当线程未启动时xml正常显示但是一旦我启动线程屏幕是空白的。线程工作,它改变活动,但我的“logo.xml”没有显示。

公共类MainActivity扩展了ActionBarActivity {

Thread timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.logo);

     timer = new Thread(){
        public void run()
        {
            try{

                int ltimer =0;
                while(ltimer<5000){
                    sleep(100);
                    ltimer += 100;
                }
                startActivity(new Intent("com.JMS.sinktheship.MENU"));

            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            finally
            {
                finish();
            }
        }
    };

timer.run();    
}

2 个答案:

答案 0 :(得分:1)

timer.run(); 

它在调用run方法的同一个线程中执行。你可能打电话给start()。在您的代码中,您将阻止UI线程,例如5秒

答案 1 :(得分:0)

黑带是正确的,在完成执行onCreate()之后,视图呈现

我建议你在 onResume 中启动线程,并且(非常重要)在线程结束时通过调用finish()方法终止活动(否则活动将保留在活动中)堆叠并将通过后退按钮再次渲染。)