返回Xamarin Android中的上一个活动 [英] Returning to previous activity in 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.
如果要传递某种结果,可以使用 OnActivityResult 获取结果数据.
If you want to pass some kind of result, you can use StartActivityForResult and in OnActivityResult get the resulting data.
这篇关于返回Xamarin Android中的上一个活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!