我希望我的活动显示一个屏幕3秒钟,然后返回上一个屏幕。但是当我使用
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.welcome_layout); TextView tvResult = (TextView)findViewById(R.id.textView1) Thread.sleep(3000); Intent i = new Intent(this,myActivity.class); startActivity(i);
但不幸的是,这不起作用。这确实表明活动等待3秒钟然后返回。但是,我希望它在返回之前显示其内容。我该怎么做 ?
您应该删除 Thread.sleep(3000);阻止ui线程的控件。您不应该阻止用户界面。您可以使用带有延迟的Handler postDelayed,然后使用startActivtiy。
Thread.sleep(3000);
Handler handler = new Handler(); handler.postDelayed(new Runnable(){ @Override public void run(){ // do something } }, 3000);
要返回上一个活动,您可以致电finish()。
finish()
另外,如果您需要回到上一个活动3秒钟,为什么需要
Intent i = new Intent(this,myActivity.class); startActivity(i);
打电话finish()会做的