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);
我是 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);