【问题标题】:collapseActionView() deprecated不推荐使用 collapseActionView()
【发布时间】:2018-01-17 21:14:05
【问题描述】:

我正在尝试以编程方式关闭操作栏搜索视图。使用代码

MenuItemCompat.collapseActionView(action_search);

工作正常,但 collapseActionView 显示为已弃用。文档指出。

此方法在 API 级别 26.1.0 中已弃用。采用 直接collapseActionView()。

所以,我将代码更改为

collapseActionView(action_search);

它也可以正常工作,并且也显示为已弃用。有什么建议吗?

【问题讨论】:

    标签: android search android-actionbar deprecated


    【解决方案1】:

    您会看到静态方法 MenuItemCompat.collapseActionView(MenuItem) 已被弃用。 The documentation 表示您应该改用实例方法MenuItem.collapseActionView()

    但是,你说:

    所以,我将代码更改为

    collapseActionView(action_search);
    

    这真的没有意义。你在什么对象上调用collapseActionView(MenuItem)ActivityFragment 没有任何此类方法。此外,您仍在将 MenuItem 参数传递给该方法;建议的替换完全没有参数。

    我怀疑你所做的是静态导入MenuItemCompat.collapseActionView(MenuItem) 方法。检查您的进口商品:

    import static android.support.v4.view.MenuItemCompat.collapseActionView;
    

    要修复它,请删除您现在拥有的行并将其替换为:

    action_search.collapseActionView();
    

    请注意,the documentation for MenuItem 并没有说明 collapseActionView() 已被弃用。

    【讨论】:

    • 在所有方面都完全正确。感谢您提供快速、详细、解释清楚的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2012-11-14
    • 2019-11-08
    • 2019-11-08
    • 2020-01-03
    • 2011-12-02
    • 2015-01-24
    相关资源
    最近更新 更多