У меня есть ImageView
, который я прикрепляю к MenuItem
как к ActionView
(элемент появляется в ActionBar
). Макет для этого представления поступает из XML. Я раздуваю его так:
ImageView actionView = (ImageView) layoutInflater.inflate(
R.layout.action_view_layout, null);
Это работает нормально. Однако; прохождение null для root
в вызове inflate()
делает Lint yell у меня:
Избегайте передачи null в качестве корня представления (необходимо разрешить компоновку параметры на корневом элементе раздутого макета)
Я могу, по-видимому, обойтись без корня в моем конкретном случае, но я предпочел бы, чтобы код был как можно более правильным. Проблема в том, что я не уверен, какой View
следует использовать в качестве корня здесь. Этот ответ говорит, что это должен быть "виджет, окружающий объекты вида, которые вы хотите раздуть". Но что это значит? Один для панели действий? Активность? Что-то еще полностью?
Обновление: Чтение ответов заставило меня подозревать, что я должен сделать следующее:
- Получить
ActionBar
View
, соответствующийMenuItem
- Получить свой корень
- Вставьте корень в
ViewGroup
- Передайте результат на надув.
Это похоже на работу. Может ли кто-нибудь подтвердить или опровергнуть, нужно ли это делать?