我只需要一些有关执行范围的信息。在我的
答案 0 :(得分:3)
要了解正在发生的事情,您需要了解Activity lifecycle
如您所见,在启动应用程序时,首先要运行的是您的onCreate()
,在这种情况下,onCreate()
有一种方法可以放大您的活动视图,该方法被称为setContentView()。
因此,如果在setContentView下执行代码,它将首先使MainActivity或您所在的类的视图膨胀,然后仅转到其他Activity。
如果您想在应用启动时立即开始“活动”,只需将startActivity(...)
的{{1}}移到setContentView()
的上方,但是最好在清单中执行此操作而不是只使用一门课程来打开另一个。
要启动WelcomeActivity,只需在清单中执行
onCreate()
所以这个
<activity
android:name=".WelcomeActivity"
android:label="@string/app_name"
android:screenOrientation="sensorLandscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:screenOrientation="sensorLandscape"/>
<activity
将定义WelcomeActivity首先执行,然后在WelcomeActivity中对您的MainActivity做一个意图
答案 1 :(得分:0)
您可能应该考虑使用Fragment,这些片段是活动的平台定义的模块化部分,具有其自己的生命周期和可选的用户界面,而不是在活动中加载其他活动。有关更多信息,请参见此:https://developer.android.com/training/basics/fragments/fragment-ui
我的建议是在活动中而不是其他活动中使用支持片段。