2017-07-07 35 views
0

我想改變我的第一個活動,首先我有名爲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); 
     } 
    }); 
    } 
} 
+0

也許這是一個有用的鏈接? [鏈接](https://stackoverflow.com/questions/3631982/change-applications-starting-activity#3632061) – PMiner

回答

4

你需要<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> 
0

在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> 

我希望這有助於。

相關問題