почему метод setDrawerListener устарел? как его решить?

В моем приложении для Android я вижу следующую ошибку:

setDrawerListener(android.support.v4.widget.Drawer Layout.DrawerListener) устарел

Как я могу это решить?

В одном ответе я вижу использование addDrawerListener() вместо setDrawerListener, но, похоже, это не работает.


person mehrdad372    schedule 04.06.2016    source источник
comment
с какой проблемой вы столкнулись? Опишите тогда!!!   -  person prat    schedule 04.06.2016


Ответы (3)


Вместо использования setDrawerListener() вы можете использовать addDrawerListener().

public void setDrawerListener(DrawerLayout.DrawerListener listener) Устанавливает прослушиватель, который будет уведомлен о событиях ящика.

Обратите внимание, что этот метод устарел, и вы должны использовать addDrawerListener(DrawerLayout.DrawerListener) для добавления прослушивателя и removeDrawerListener(DrawerLayout.DrawerListener) для удаления зарегистрированного прослушивателя.

person prat    schedule 04.06.2016
comment
Забавно, как ты отрываешься от чужих ответов. Почти каждый ответ, который вы опубликовали, в основном копирует + вставляет. По крайней мере, отдайте должное посту, из которого вы скопировали. - person shark1608; 15.07.2016
comment
Только подскажите..где написано не копировать и не вставлять. Я не отмечаю «да» для своего ответа .. так что не ставьте точку. - person prat; 15.07.2016
comment
Прочтите этот ответ на вопрос здесь: meta.stackoverflow.com/questions/251389/. Я считаю, что неспособность дать кредит равняется плагиату. Учитывая, что почти каждый ответ, который вы когда-либо публиковали, был копией, я могу отметить вас, если захочу, но не буду. Пожалуйста, имейте это в виду, когда в следующий раз будете пытаться ответить. Если вы где-то нашли ответ, просто дайте ссылку в комментарии. - person shark1608; 15.07.2016

В официальной документации Android указано, что setDrawerListener() следует заменить на addDrawerListener() setDrawerListener() Документация

Так что это должно работать, поскольку они оба принимают одни и те же аргументы. Вы также можете прочитать это:документация по addDrawerListener

на случай, если вы что-то упустили или в логике вашего кода есть недостатки.

Вы также можете вставить часть своего кода, если проблема не устранена.

person Community    schedule 04.06.2016

Ну, очевидно, Google добавил этот новый метод после уровня API 23.2.0. Хотя оба они одинаковы. Принимает одни и те же аргументы, делает одинаковую работу... но в будущем он может не работать где-то, где я читал. Так что лучше использовать

drawerLayout.addDrawerListener (actionBarDrawerToggle);

person Debasish Ghosh    schedule 21.04.2017
comment
Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно как и/или почему это решает проблему, повысит ценность ответа в долгосрочной перспективе. Помните, что вы отвечаете на вопрос читателей в будущем, а не только того, кто задает сейчас! Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение и указать, какие ограничения и предположения применимы. Также не помешает упомянуть, почему этот ответ более уместен, чем другие. - person Dev-iL; 21.04.2017