2013-06-12 65 views
0

我在Monodroid中使用DrawerLayout小部件,從本教程http://developer.android.com/training/implementing-navigation/nav-drawer.html移植。在Monodroid中調用DrawerOpened事件處理程序

抽屜工作正常,但抽屜打開或關閉時從不調用DrawerOpened和DrawerClosed事件處理程序。我使用小部件中的內置偵聽器。抽屜佈局放置在碎片中。

有什麼想法?非常感謝幫助。

this.DrawerLayout.DrawerClosed += delegate(object sender, Android.Support.V4.Widget.DrawerLayout.DrawerClosedEventArgs e) 
     { 
      this.Activity.ActionBar.SetTitle(Resource.String.ApplicationName); 
      this.Activity.InvalidateOptionsMenu(); 
     }; 

      this.DrawerLayout.DrawerOpened += delegate(object sender, Android.Support.V4.Widget.DrawerLayout.DrawerOpenedEventArgs e) 
     { 
      this.Activity.ActionBar.SetTitle(this.Title); 
      this.Activity.InvalidateOptionsMenu(); 
     }; 

     this.DrawerLayout.SetDrawerListener(this.DrawerToggle); 

回答

0

我剛剛自己遇到了這個問題。如果您在設置抽屜打開和關閉事件的代表之前設置了抽屜監聽器,我相信會觸發此事件。

所以只要改變你的代碼如下:

this.DrawerLayout.SetDrawerListener(this.DrawerToggle); 

this.DrawerLayout.DrawerClosed += delegate(object sender, Android.Support.V4.Widget.DrawerLayout.DrawerClosedEventArgs e) 
     { 
      this.Activity.ActionBar.SetTitle(Resource.String.ApplicationName); 
      this.Activity.InvalidateOptionsMenu(); 
     }; 

      this.DrawerLayout.DrawerOpened += delegate(object sender, Android.Support.V4.Widget.DrawerLayout.DrawerOpenedEventArgs e) 
     { 
      this.Activity.ActionBar.SetTitle(this.Title); 
      this.Activity.InvalidateOptionsMenu(); 
     }; 

這似乎爲我工作。

+0

它的工作原理!謝謝 – erika

+0

很高興聽到它:) –

相關問題