在 Xamarin Android 中返回到上一个 activity

Returning to previous activity in Xamarin Android

我有两个活动:MainActivityActivity2:

public class MainActivity : AppCompatActivity
{
    DateTime time = DateTime.Now;        
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        SetContentView(Resource.Layout.activity_main);

        var button = FindViewById<Button>(Resource.Id.button);
        button.Text = "Button created at " + time.ToString();
        button.Click += (s, e) =>
        {
            Intent intent = new Intent(this, typeof(Activity2));
            StartActivity(intent);
        };
    }
    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
    {
        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
}

和:

[Activity(Label = "Activity2")]
public class Activity2 : Activity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.activity2);

        Button button_close = FindViewById<Button>(Resource.Id.button_close);
       
        button_close.Click += (s, e) =>
        {
            Intent intent = new Intent(this, typeof(MainActivity));
            StartActivity(intent);
        };
    }
}

单击 button 打开 Activity2 并隐藏 MainActivity。 button_close 关闭 Activity2 并打开 MainActivity 的新实例。但我不想创建新实例。 如何在 Activity2 关闭后准确恢复先前创建的 MainActivity 和 return 实例?

此处,button.Text显示是否创建了MainActivity的新实例。

只需在 Activity2 上调用 Finish(),它将 return 到上一个。

如果你想传递某种结果,你可以使用StartActivityForResult and in OnActivityResult获取结果数据。