我的MainMenu是第一个启动的活动或页面,它将MainPage显示为片段
在这个MainMenu中,
a)它有一个左抽屉。当用户点击抽屉中的某个项目时,它将显示为片段。
在这个MainPage中,
b)它在Action-Bar中有下拉菜单。当用户单击菜单中的项目时
它将显示为片段
问题:
1)用户单击MainPage(b):Action_bar下拉菜单中的项目,当用户单击后退按钮并显示主页面内容时,如何删除或不显示当前显示片段
我尝试了下面的代码,它不起作用
public override void OnBackPressed()
{
if (DrawerLayout != null && DrawerLayout.IsDrawerOpen(GravityCompat.Start))
DrawerLayout.CloseDrawers();
else
base.OnBackPressed();
}
答案 0 :(得分:1)
您可以使用以下命令将片段添加到片段管理器的backstack中:
SELECT dist.Column + ','
FROM(
SELECT DISTINCT t.Column
FROM dbo.tb t) dist
FOR XML PATH ('')
我建议您查看MvvmCross的Android示例。它默认处理很多事情,比如backstack。 https://github.com/MvvmCross/MvvmCross-AndroidSupport/tree/master/Samples
答案 1 :(得分:0)
要将片段添加到后堆栈,可以在MvxFragmentPresentation属性中指定 AddToBackStack = true :
[MvxFragmentPresentation(typeof(YourViewModel), Resource.Id.your_content_frame, AddToBackStack = true)]