我建立了一个包含许多活动的项目。每次,当我创建新活动时,我都会设置一个层次结构父级。但我决定用动画制作一个活动,这应该是第一个。我试图更改清单文件中的一些信息并将新的一个活动设置为起始活动,但我做错了,所有项目都崩溃了。Ofc,我将继续尝试更改清单文件,但也许我可以使用 Eclipse 工具以更简单的方式做到这一点?
--EDIT-- 我解决了我的问题,这是一个很小的错误。我只是设置了错误的布局,忘记再改变一件事。我还不是这个主题的专家,但也许对于其他读者,我会在这里提供一些如何使用清单文件更改层次结构的信息。如果我在这里犯了任何错误,请随时编辑。
好的,让我们假设我们的项目有一些活动。在 Manifest 文件中,我们可以找到一些关于活动的信息,这些信息在标记之间:. 所以,它可能看起来像:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.mastermind.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.mastermind.StartGameActivity"
android:label="@string/title_activity_start_game"
android:parentActivityName="com.example.mastermind.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.mastermind.MainActivity" />
</activity>
<activity
android:name="com.example.mastermind.NewActivity"
android:label="@string/title_new_activity" >
</activity>
现在我们要更改 MainActivity,它是第一个,并将 NewActivity 设置为第一个。我们只需要更改包含标记的活动名称:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
为 NewActivity 的名称并设置它的布局,如下所示:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.mastermind.NewActivity"
android:label="@string/title_new_activity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.mastermind.StartGameActivity"
android:label="@string/title_activity_start_game"
android:parentActivityName="com.example.mastermind.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.mastermind.MainActivity" />
</activity>
<activity
android:name="com.example.mastermind.MainActivity"
android:label="@string/app_name" >
</activity>
那应该没问题。