片段返回导航

时间:2016-12-21 23:17:38

标签: android android-fragments xamarin

我有一个AppCompatActivity

        Android.Support.V7.Widget.Toolbar myToolbar = (Android.Support.V7.Widget.Toolbar)FindViewById(Resource.Id.my_toolbar);
        SetSupportActionBar(myToolbar);
        SupportActionBar.SetDisplayHomeAsUpEnabled(true);

我在此活动中使用片段来更改工具栏下显示的内容。我希望每个片段(在SupportFragmentManager.BeginTransaction().Replace(Resource.Id.content, myFragment).Commit()上)被推到一个堆栈上,这样在工具栏后退按钮触摸或安卓后退按钮按下之前的片段就会弹出并显示出来。怎么做?

2 个答案:

答案 0 :(得分:0)

我通过覆盖我的活动中的OnOptionsItemSelected解决了这个问题:

    public override bool OnOptionsItemSelected(IMenuItem item)
    {
        if (SupportFragmentManager.BackStackEntryCount == 0)
        {
            return base.OnOptionsItemSelected(item);
        }

        SupportFragmentManager.PopBackStack();
        return true;
    }

注意:无需覆盖OnBackPressed。

答案 1 :(得分:0)

使用它:

builder.Entity<ApplicationUser>().HasKey(u => u.Id);