为什么睡眠线程停止布局显示?
问题描述:
为什么这不会首先绘制布局,然后睡觉? 它在睡眠后正确显示下一个活动,但在睡眠之前不显示第一个屏幕。这是打算成为一个启动画面。为什么睡眠线程停止布局显示?
为了应该: - 设置内容视图(显示飞溅) - 创建线程。 - 运行线程 - 线程睡眠 - 线程开始新的活动。
只是,它似乎并没有像那样发生。任何帮助非常感谢
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();
}
}
答
事实上,你并没有创造一个并发的情况。您正在UI线程中执行run()
方法。
你想要做的调用是
myThread.start();
这同时启动线程。
答
还有其他生命周期管理的东西发生在onCreate之后,并呈现UI之前。 setContentView()不是渲染UI的实际调用,它只是设置基本Activity类在渲染时使用的资源。
Oooh,开始。当然!我觉得这很愚蠢,谢谢Craigy! – ThePerson
没问题。不要忘记说最好的方式表示感谢,接受答案 – Craigy