0

我在 Monodroid 中使用 DrawerLayout 小部件,从本教程http://developer.android.com/training/implementing-navigation/nav-drawer.html移植。

抽屉工作正常,但是抽屉打开或关闭时从不调用 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);
4

1 回答 1

0

我自己也遇到过这个问题。我相信如果您在为 Drawer Opened 和 Closed 事件设置委托之前设置了抽屉侦听器,则会触发此事件。

所以只需将您的代码更改为:

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

这似乎对我有用。

于 2013-06-13T23:45:34.277 回答