如何更改Android Studio中的第一个活动?
问题描述:
我想改变我的第一个活动,首先我有名为MainActivity的活动。我添加名为ActivityFirst的新活动。当然,我必须更改AndroidManifest.xml。以前我有androidManifest这样的:如何更改Android Studio中的第一个活动?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edmt.dev.androidsimsimi">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
后,我加入我的新的活动,也是我改变我的androidManifest文件。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edmt.dev.androidsimsimi">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".ActivityFirst">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我很困惑我在添加ActivityFirst后放置MainActivity的位置。这是我的ActivityFirst.java:
public class ActivityFirst extends AppCompatActivity {
private Button mulai;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
mulai = (Button) findViewById(R.id.mulai);
mulai.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(ActivityFirst.this, MainActivity.class);
startActivity(intent);
}
});
}
}
答
你需要<activity>
标签在应用程序的清单文件中的每个活动所提到here in the docs:
所有活动必须在 清单文件中的元素来表示。任何没有被宣布的将不会被 系统看到,并且将永远不会运行。
所以你的情况,这将会是这样的:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="edmt.dev.androidsimsimi">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".ActivityFirst">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
</application>
</manifest>
答
在Android中,当应用程序启动您的清单文件被标记LAUNCHER
的第一项活动展示。
您只需更改启动器活动即可在活动标记内添加一个intent-filter
标记。
因此,如果您的活动标记是自动关闭的,您可以更改它并在标记内添加意图过滤器标记。
下面是一个例子。
<activity android:name=".MainActivity" />
<activity android:name=".ActivityFirst">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
在清单上面的代码将使ActivityFirst发射活动,
,而下面的代码将使MainActivity发射活动。
<activity android:name=".ActivityFirst" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
我希望这有助于。
也许这是一个有用的链接? [链接](https://stackoverflow.com/questions/3631982/change-applications-starting-activity#3632061) – PMiner