在不启动新实例的情况下返回 MainActivity

Returning back to MainActivity without starting a new instance

您好,我是 Andriod 的新手。我有三个活动 A B C。A 是 MainActivity B 和 C 是独立的活动。我在 mainActivity 中包含了一个日历,并突出显示了一些日期。

现在通过 mainActivity 我开始一个新的 activity B 并 return 使用下面的代码

回到 A
public void OnClick(View V){
      Intent i= new Intent(getApplicationContext(),A.class);
      i.setFlags(Imtent.FLAG_ACTVITIY_CLEAR_TOP);
      startActivity(i);       
  }

这 return 回到主Activity 但突出显示的日期不存在。我想知道是创建了一个新的 Activity 还是我在突出显示日期时做错了什么。

无需重新开始之前的activity。只要您想将当前的 activity 和 return 关闭到前一个,您就可以调用 this.finish()。如果这是 BackStack 中的最后一个 activity,应用程序将关闭。

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

...
android:launchMode="singleTask"
...

例如:

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