2016-04-21 1 views
0

Я использую эту привязку для этой удивительной библиотеки ящиков материалов от MikePenz.Навигация Кнопка ящика назад Xamarin

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

Изучив исходную библиотеку, я определил, что следующий код отвечает за управление кнопкой со стрелкой назад. Я был бы признателен, если кто-то может мне немного помочь написать этот код слушателя на 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; 
       } 
      }) 

Вот связывание libray, что я использую: MaterialDrawer-Xamarin

И это ссылка на оригинальную библиотеку: MaterialDrawer

ответ

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; 
} 
+0

Я получаю эту ошибку. когда я пробую ваш код. Ошибка CS1502: лучшее перегруженное соответствие метода для 'Mikepenz.MaterialDrawer.DrawerBuilder.WithOnDrawerNavigationListener (Mikepenz.MaterialDrawer.Drawer.IOnDrawerNavigationListener) 'имеет некоторые недопустимые аргументы (CS1502) –

+0

Мои приложения, это работает. Просто, что я забыл наследовать интерфейс –