我有一个ImageView
,将其附加到一个MenuItem
作为其ActionView
(该项目出现在ActionBar
中)。此视图的布局来自XML。我是这样膨胀它的:
ImageView actionView = (ImageView) layoutInflater.inflate(
R.layout.action_view_layout, null);
这似乎运行得很好。然而,在调用inflate()
时将null传递给root
会导致 Lint 报错:
避免将 null 作为视图根传递(需要解析已膨胀布局的根元素上的布局参数)
在我的特定情况下,我似乎可以没有根,但我宁愿代码尽可能正确。问题是,我不确定哪个View
应该在这里用作根。 这个答案说应该是“包围您要填充的视图对象的小部件”。但是这在这里意味着什么?操作栏的那一个?活动?还是完全不同的东西?
更新:阅读答案使我怀疑我应该做正确的事情:
- 获取与
MenuItem
对应的ActionBar
View
- 获取其根
- 将根强制转换为
ViewGroup
- 将结果传递给inflater
这似乎有效。有人可以确认或否认是否应该这样做吗?