返回Xamarin Android中的上一个活动 [英] Returning to previous activity in Xamarin Android

查看:88
本文介绍了返回Xamarin Android中的上一个活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个活动: MainActivity Activity2 :

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);
        };
    }
}

单击按钮将打开Activity2,并隐藏MainActivity. button_close 关闭Activity2并打开MainActivity的新实例.但是我不希望创建一个新实例.我如何才能完全恢复以前创建的 MainActivity 的原始实例,并在Activity2关闭后返回到该实例?

Clicking on button opens Activity2 and hides MainActivity. button_close closes Activity2 and opens a new instance of MainActivity. But I do not want a new instance to be created. How can I revive exactly the original previously-created instance of MainActivity and return to it after Activity2 is closed?

在这里, button.Text 显示是否创建了 MainActivity 的新实例.

Here, button.Text shows whether a new instance of MainActivity is created.

推荐答案

只需在Activity2上调用 Finish(),它就会返回到前一个.

Just call Finish() on Activity2, it will return to the previous.

如果要传递某种结果,可以使用

If you want to pass some kind of result, you can use StartActivityForResult and in OnActivityResult get the resulting data.

这篇关于返回Xamarin Android中的上一个活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆