0

このチュートリアルhttp://developer.android.com/training/implementing-navigation/nav-drawer.htmlから移植された Monodroid で DrawerLayout ウィジェットを使用します。

ドロワーは正常に動作しますが、ドロワーが開いているか閉じているときに、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 イベントのデリゲートを設定する前に drawer リスナーを設定すると、このイベントが発生すると思います。

したがって、コードを次のように変更してください。

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 に答える