不推荐使用setActionView

时间:2019-09-17 07:48:35

标签: android kotlin

下面的代码可以正常工作,但是它给了我setActionView和getActionView不推荐使用

     val item = menu?.findItem(R.id.action_mini_basket)
     MenuItemCompat.setActionView(item,R.layout.toolbar_mini_basket_layout)
     val toolbarLayout = MenuItemCompat.getActionView(item)

android开发人员站点说:“此方法在API级别26.1.0中已弃用。直接使用setActionView(int)。” 我设法修复了getActionView,但对setActionView一无所知,它只需要一个参数。

     val item = menu?.findItem(R.id.action_mini_basket)
     MenuItemCompat.setActionView(item,R.layout.toolbar_mini_basket_layout) //??
     val toolbarLayout = item.actionView as RelativeLayout

谢谢

2 个答案:

答案 0 :(得分:1)

更改

MenuItemCompat.setActionView(item,R.layout.toolbar_mini_basket_layout);

 item.setActionView(R.layout.toolbar_mini_basket_layout);
如果您使用的是Compat

,则不再需要

AppCompatActivity版本

答案 1 :(得分:0)

根据Android文档,您确实确实需要使用setActionView(int)。 在这种情况下,该参数是您要使用的布局资源。

它将是:

MenuItemCompat.setActionView(R.layout.toolbar_mini_basket_layout)