为什么setDrawerListener方法被弃用了?如何解决它?

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

setDrawerListener(android.support.v4.widget.Drawer    Layout.DrawerListener)'已弃用

我该如何解决这个问题?
在一个答案中,我看到使用addDrawerListener()代替setDrawerListener,但这似乎不起作用。

你遇到了什么问题?请描述一下! - prat
3个回答

21

不要使用setDrawerListener(),你可以使用addDrawerListener()

public void setDrawerListener(DrawerLayout.DrawerListener listener) 设置侧滑菜单事件监听器。

请注意,此方法已过时,应使用addDrawerListener(DrawerLayout.DrawerListener)添加监听器,以及使用removeDrawerListener(DrawerLayout.DrawerListener)删除已注册的监听器。


1
有趣的是你抄袭别人的答案。你发布的几乎每一个答案都是复制粘贴。至少要给你复制的帖子点个赞。 - shark1608
请告诉我,哪里写着不允许复制和粘贴。我没有标记我的答案为“是”,所以请不要挑刺。 - prat
阅读这个问题的答案:http://meta.stackoverflow.com/questions/251389/when-is-using-an-other-posters-content-plagiarism。我认为不给予他人应有的荣誉就是剽窃行为。考虑到你几乎每次回答都是抄袭,我可以举报你,但我不会这么做。请记住,在下次回答时要注意。如果你在其他地方找到了答案,只需在评论中贴上链接即可。 - shark1608
在哪里?就在这里 - General Grievance

1

显然,谷歌在API级别23.2.0之后添加了这种新的方法。虽然两者相同,接受相同的参数并具有相同的功能... 但是未来可能会在某些地方不起作用,我在某处读到过。因此最好使用它。

drawerLayout.addDrawerListener(actionBarDrawerToggle);


虽然这段代码可能回答了问题,但提供有关它如何解决问题以及/或为什么解决问题的附加上下文将改善答案的长期价值。请记住,您正在为未来的读者回答问题,而不仅仅是现在提问的人!请编辑您的答案以添加说明,并指出适用的限制和假设。此外,提到为什么此答案比其他答案更合适也没有坏处。 - Dev-iL

1

Android官方文档指出,setDrawerListener() 应该被 addDrawerListener() 替代 setDrawerListener() 文档

因此,它们都接受相同的参数,所以应该可以正常工作。 您也可以阅读这个:addDrawerListener 文档

如果您遇到问题或代码逻辑有缺陷,可以贴上一些代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接