为什么不推荐使用 setDrawerListener 方法?如何解决?

why method setDrawerListener is deprecated?how to resolve it?

在我的 android 应用程序中,我看到以下错误:

setDrawerListener(android.support.v4.widget.Drawer Layout.DrawerListener)' is deprecated

我该如何解决这个问题?

在一个答案中,我看到使用 addDrawerListener() 而不是 setDrawerListener,但它似乎不起作用。

您可以使用 addDrawerListener()

而不是使用 setDrawerListener()

public void setDrawerListener(DrawerLayout.DrawerListener listener) Sets a listener to be notified of drawer events.

Note that this method is deprecated and you should use addDrawerListener(DrawerLayout.DrawerListener) to add a listener and removeDrawerListener(DrawerLayout.DrawerListener) to remove a registered listener.

Android官方文档说setDrawerListener()应该换成addDrawerListener()setDrawerListener() Documentation

所以它应该可以工作,因为它们都接受相同的参数。 您也可以阅读此内容:addDrawerListener Documentation

以防您遗漏某些内容或您的代码逻辑存在缺陷。

如果问题仍然存在,您也可以粘贴一些代码。

显然 google 在 API 级别 23.2 之后添加了这个新方法。0.While 两者都是 same.Takes 相同的参数做同样的工作......但将来可能在某个地方无法工作 read.So 最好使用

drawerLayout.addDrawerListener(actionBarDrawerToggle);