返回 MainActivity 而不启动新实例

ADI*_*ADI 0 android android-intent android-calendar

你好,我对 Andriod 还很陌生。我有三个活动 AB C。A 是 MainActivity B 和 C 是独立活动。我在 mainActivity 中包含了一个日历,并突出显示了一些日期。

现在通过 mainActivity 我启动一个新的活动 B 并使用以下代码返回到 A

public void OnClick(View V){
      Intent i= new Intent(getApplicationContext(),A.class);
      i.setFlags(Imtent.FLAG_ACTVITIY_CLEAR_TOP);
      startActivity(i);       
  }
Run Code Online (Sandbox Code Playgroud)

这将返回到 mainActivity,但突出显示的日期不在那里。我想知道是否创建了一个全新的活动,或者我在突出显示这些日子时做错了什么。

Iva*_*nov 5

您应该在 MainActivity 的清单中使用以下行:

...
android:launchMode="singleTask"
...
Run Code Online (Sandbox Code Playgroud)

例如:

        <activity
            android:name=".activities.MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
Run Code Online (Sandbox Code Playgroud)