繁体   English   中英

导航回到从另一个活动中调用Fragment

[英]Navigate back to calling Fragment from another activity

我有一个MainActivity,其中包含3个片段。 这些片段中的2个在其中有列表,单击列表项后,我转到另一个活动(即NewActivity)。 我在NewActivity上实现了一个ActionBar,并想回到此活动的调用片段。

我有以下代码:

MainActivity.cs

SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetDisplayShowHomeEnabled(true);
var ft = SupportFragmentManager.BeginTransaction();
            ft.Add(Resource.Id.fragment_container, homeFragment, "FRAG_HOME").SetBreadCrumbShortTitle("FRAG_HOME");

            ft.Add(Resource.Id.fragment_container, FragmentList1, "FRAG_LIST1").SetBreadCrumbShortTitle("FRAG_LIST1");

            ft.Hide(FragmentList1);
            ft.Add(Resource.Id.fragment_container, FragmentList2, "FRAG_LIST2").SetBreadCrumbShortTitle("FRAG_LIST2");
            ft.AddToBackStack(null);
            ft.Hide(FragmentList2);

            ft.Commit();

FragmentList1.cs

 void LvLatestArticles_ItemClick (object sender, AdapterView.ItemClickEventArgs e)
        {
            Intent intent = new Intent(Activity, typeof(NewActivity));
            StartActivity(intent);
        }

NewActivity.cs

public override bool OnOptionsItemSelected(IMenuItem item)
        {
            switch(item.ItemId)
            {
                case Android.Resource.Id.Home:
                    SupportFragmentManager.PopBackStackImmediate();
                    break;
            }
            return base.OnOptionsItemSelected(item);
        }

在上面的代码中,我重写了ActionBar上的“主页”按钮功能。 但这根本无济于事。 我该如何进行呢? 任何帮助,将不胜感激

尝试在“ 主页”按钮上调用OnBackPressed() 像这样:-

    public override bool OnOptionsItemSelected(IMenuItem item){
         switch(item.ItemId){
            case Android.Resource.Id.Home:
                     base.OnBackPressed();                    
                     break;
            }
         return base.OnOptionsItemSelected(item);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM