在onCreate()上加载子活动的范围

时间:2018-09-05 20:45:17

标签: java android

我只需要一些有关执行范围的信息。在我的

2 个答案:

答案 0 :(得分:3)

要了解正在发生的事情,您需要了解Activity lifecycle

enter image description here

如您所见,在启动应用程序时,首先要运行的是您的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

我的建议是在活动中而不是其他活动中使用支持片段。