Кнопка перехода назад на панели навигации Xamarin

Я использую эту привязку для этой замечательной библиотеки Material Drawer Library от MikePenz.

Я реализовал панель навигации с этой библиотекой, и мне также удалось изменить меню гамбургера на стрелку назад, когда я углубляюсь в уровень. Теперь у меня проблемы с правильной работой стрелки назад. Когда я нажимаю стрелку назад, вместо того, чтобы вернуться на предыдущую страницу, открывается панель навигации.

Изучив исходную библиотеку, я определил, что следующий код отвечает за управление кнопкой со стрелкой назад. Буду признателен, если кто-нибудь поможет мне написать этот код слушателя на C #.

.withOnDrawerNavigationListener(new Drawer.OnDrawerNavigationListener() {
                @Override
                public boolean onNavigationClickListener(View clickedView) {
                    //this method is only called if the Arrow icon is shown. The hamburger is automatically managed by the MaterialDrawer
                    //if the back arrow is shown. close the activity
                    AdvancedActivity.this.finish();
                    //return true if we have consumed the event
                    return true;
                }
            })

Вот используемая мной библиотека привязки: MaterialDrawer-Xamarin

А это ссылка на исходную библиотеку: MaterialDrawer


person Libin Joseph    schedule 21.04.2016    source источник


Ответы (1)


Попробуйте что-то вроде этого:

var result = new DrawerBuilder()
        .WithActivity(this)
        .AddDrawerItems(
          //Add some items here
          new DividerDrawerItem()
        )
        .WithOnDrawerNavigationListener(this);

и реализуйте Drawer.IOnDrawerNavigationListener в своей деятельности следующим образом:

public bool OnNavigationClickListener(View clickedView)
{
    this.Finish();
    return true;
}
person Giorgi    schedule 21.04.2016
comment
Я получаю эту ошибку. когда я пробую ваш код. Ошибка CS1502: лучшее совпадение перегруженного метода для `Mikepenz.MaterialDrawer.DrawerBuilder.WithOnDrawerNavigationListener (Mikepenz.MaterialDrawer.Drawer.IOnDrawerNavigationListener) 'имеет некоторые недопустимые аргументы (CS1502) - person Libin Joseph; 22.04.2016
comment
Приношу свои извинения, это работает. Просто я забыл унаследовать интерфейс - person Libin Joseph; 22.04.2016