我正在寻找一种可以在浏览不同页面时结束上一页/活动的方法,以便当按下“后退”按钮时,它不会回到上一条消息。在Java Android中,这种方法称为finish(),那么Xamarin Cross Platform中是否存在这种方法?
答案 0 :(得分:1)
Xamarin Forms有一些选项可从堆栈中删除或添加页面。看看Navigation.PopAsync
或Navigation.RemovePage
。
答案 1 :(得分:0)
在 Android Xamarin表单上,您可以使用类似的方法:Finish();
我认为您正在找到这种方法?
答案 2 :(得分:0)
xamarin形式中没有方法finish,因为finish()是为了让系统知道程序员希望当前的Activity完成。在xamarin表单中,您只有一个Activity,即MainActivity。 Xamarin表单围绕着Navigation展开,因此,如果您想回到上一个导航Navigation.PopAsync或要关闭模式,请使用Navigation.PopModal
答案 3 :(得分:0)
根据您描述目标的方式,我认为 this.Finish();
会起到很好的作用。
示例代码:
Button nextPage;
protected override void OnCreate(Bundle savedInstanceState)
{
try
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
SetContentView(Resource.Layout.your_content_xml);
// Set our view from the "main" layout resource
nextPage = FindViewById<Button>(Resource.Id.button1);
nextPage.Click += (s, e) =>
{
Intent nextActivity = new Intent(this, typeof(next_page_CS_file)); // Create Intent instance
StartActivity(nextActivity); // Go to the Next Page as set in Intent
this.Finish(); // Terminates Current Page.
// As such, once you're in the next page, clicking the back button
// on phone's menu will close the App instead of going back here
};
} catch (Exception ex)
{
// Any code you want that'll handle the Exception.
// Like, for example, . . .
Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show();
}
}
根据我的理解和经验,这应该可行。但是,我不确定是否还有其他方法可以实现您的目标。