小编典典

如何让应用等待,然后开始活动或返回?

java

我希望我的活动显示一个屏幕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秒钟然后返回。但是,我希望它在返回之前显示其内容。我该怎么做 ?


阅读 276

收藏
2020-11-30

共1个答案

小编典典

您应该删除 Thread.sleep(3000);阻止ui线程的控件。您不应该阻止用户界面。您可以使用带有延迟的Handler
postDelayed,然后使用startActivtiy。

Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
  public void run(){
   // do something
 }
 }, 3000);

要返回上一个活动,您可以致电finish()

另外,如果您需要回到上一个活动3秒钟,为什么需要

Intent i = new Intent(this,myActivity.class);
startActivity(i);

打电话finish()会做的

2020-11-30