【问题标题】:why method setDrawerListener is deprecated?how to resolve it? [duplicate]为什么不推荐使用 setDrawerListener 方法?如何解决? [复制]
【发布时间】:2016-06-04 11:44:50
【问题描述】:

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

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

我该如何解决这个问题?

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

【问题讨论】:

  • 您面临的问题是什么?那请描述一下!!!

标签: android drawerlayout deprecation-warning


【解决方案1】:

您可以使用addDrawerListener(),而不是setDrawerListener()

public void setDrawerListener(DrawerLayout.DrawerListener listener) 设置一个监听器以接收抽屉事件的通知。

请注意,此方法已弃用,您应该使用 addDrawerListener(DrawerLayout.DrawerListener) 添加监听器和 removeDrawerListener(DrawerLayout.DrawerListener) 删除一个 注册监听器。

【讨论】:

  • 你抄袭别人的答案很有趣。您发布的几乎每个答案基本上都是复制+粘贴。至少要归功于您复制的帖子。
  • 告诉我..它写在哪里不要复制和粘贴。我的答案是肯定的。所以不要指出。
  • 在此处阅读此问题的答案:meta.stackoverflow.com/questions/251389/…。我相信未能给予剽窃信用额度。考虑到您发布的几乎所有答案都是副本,如果我愿意,我可以标记您,但我不会。下次尝试回答时请记住这一点。如果您在某处找到了答案,只需在评论中发布链接即可。
【解决方案2】:

Android 官方文档声明 setDrawerListener() 应替换为 addDrawerListener() setDrawerListener() Documentation

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

如果你遗漏了什么或者你的代码逻辑有缺陷。

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

【讨论】:

    【解决方案3】:

    显然,谷歌在 API 级别 23.2.0 之后添加了这个新方法。虽然两者都是相同的。采用相同的参数做同样的工作......但将来它可能无法在我阅读的地方工作。所以最好使用

    drawerLayout.addDrawerListener(actionBarDrawerToggle);

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关 如何 和/或 为什么 解决问题的附加 context 将改善答案的长度长期价值。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人!请edit您的答案添加解释,并说明适用的限制和假设。提及为什么这个答案比其他答案更合适也没有什么坏处。
    猜你喜欢
    • 2015-09-02
    • 2013-08-02
    • 2021-09-12
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    相关资源
    最近更新 更多