Android 一定时间后更改视图

Android Change View After Certain Amount of Time

我是 AndroidStudio 的新手,我无法找到无需用户操作即可更改视图的方法。更具体地说,我试图让我的应用程序在打开时显示标题屏幕,然后在几秒钟后切换到主界面。我在 android 教程中找到了将视图从当前视图更改为 DisplayMessageActivity class 的代码:

Intent intent = new Intent(this, DisplayMessageActivity.class);
startActivity(intent);

我尝试在我的标题屏幕 Activity 的 onCreate 方法中使用此代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.title_screen);
    try {
        Thread.sleep(5000);
    } catch (Exception e) {
        e.printStackTrace();
    }
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    startActivity(intent);
}

然后我在新Activity中设置了第二个视图。我还尝试在 onCreate 方法中只使用两个单独的视图:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.title_screen);
    try {
        Thread.sleep(5000);
    } catch (Exception e) {
        e.printStackTrace();
    }
    setContentView(R.layout.main_menu);
}

然而,在这两种情况下,它只显示第二个视图。我哪里错了?

此处:Intent intent = new Intent(this, DisplayMessageActivity.class);

问题在于,在这两种情况下,您都将 Intent 发送到相同的 class (DisplayMessageActivity.class)。您必须在 onCreate 方法中更改要发送 Intent 的 class(第二个视图)。

Intent intent = new Intent(this, **The class in which you are going to show your second view**);

希望对你有用!

您在两个 Activity 中使用相同的布局,请修正 (R.layout.......)

避免使用 Thread.sleep,因为它会阻止应用程序本身。 你必须在调用第二个 activity 时引入延迟。请参考 https://www.youtube.com/watch?v=LCLO7q2uhOs

您的以下代码应放入具有您想要的时间延迟的处理程序块中

 Intent intent = new Intent(this, DisplayMessageActivity.class);
    startActivity(intent);