2015-08-29 94 views
2

我的MainMenu是第一個啓動的活動或頁面將顯示的MainPage的片段如何處理後退按鈕刪除當前片段在MvvmCross

在這個MainMenu的


一)它有一個左抽屜。當用戶點擊抽屜中的項目時,它將顯示爲片段。

在這個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(); 
} 

回答

1

您可以將片段添加到這個片段經理的堆棧中:

var ft = SupportFragmentManager.BeginTransaction(); 
ft.AddToBackStack(fragInfo.Tag); 
ft.Commit(); 

我建議您查看Android示例MvvmCross。它默認處理很多事情,比如後臺。 https://github.com/MvvmCross/MvvmCross-AndroidSupport/tree/master/Samples

+0

我跟着鏈接。如果點擊項目位於MainMenu的Drawer中,或者在action-basr中的dropdwon菜單中使用了上述代碼,則可以使用上述代碼。 – MilkBottle

+0

不確定這個問題是什麼意思,但它有一個抽屜,你可以做菜單動作的東西。 – Martijn00

+0

我點擊操作欄下拉菜單中的一個項目,它會顯示一個片段。現在,當用戶點擊後退按鈕時,我如何刪除當前片段?我用上面的OnBackPressed(),它不起作用。 – MilkBottle