当前位置: 首页 > 知识库问答 >
问题:

当膨胀一个用于MenuItem的ActionView的布局时,我应该把什么传递给root?

阎宝
2023-03-14
ImageView actionView = (ImageView) layoutInflater.inflate(
   R.layout.action_view_layout, null);
  1. 获取与menuitem
  2. 相对应的 ActionBar 视图
  3. 获取其根
  4. 将根强制转换为viewgroup
  5. 将结果传递给充气机

这似乎管用。有人能证实或否认这是否是应该做的吗?

共有1个答案

公冶兴文
2023-03-14

我只想这样做:

menuItem.setActionView(R.layout.action_view_layout);

让Android为你膨胀视图。

如果您需要对这个ImageView调用做一些额外的更改

ImageView imageView = (ImageView) menuItem.getActionView();
public MenuItem setActionView(int resId) {
    final Context context = mMenu.getContext();
    final LayoutInflater inflater = LayoutInflater.from(context);
    setActionView(inflater.inflate(resId, new LinearLayout(context), false));
    return this;
}
 类似资料:
  • 主要活动: } 片段类 错误:java.lang.runtimeException:无法启动活动ComponentInfo{com.darkweb.android.chroma2018/com.darkweb.android.chroma2018.mainactivity}:Android.view.filflateException:二进制XML文件行#0:错误inflating类在Androi

  • 问题内容: 因此,我的布局是一个单独的文件,因此请给它充气。然后,我更改布局中的文本视图和图像,并调用measure,但是在尝试测量布局时会得到空指针。我一生无法弄清楚为什么会这样。我试图最终将布局转换为位图。 这是XML 在measure()行中,它引发了一个空指针,并且我已经验证了getWidth和getHeight在给出合法值。 有任何想法吗? 谢谢! 问题答案: 抛出该错误的原因是,当您为

  • 因此,在ASP.NET中, 将创建一个每次都唯一的散列加盐字符串。这是伟大的;这意味着,如果有人设法获得了哈希密码(例如,在SQL注入攻击中),他们将无法使用查找表来查找原始密码。然而,据我所知,他们仍然能够轻松地编写代码,试图在本地强行使用它,而不涉及受害者的服务器,例如: …,还是因为某种原因,这毫无意义?在我看来,让上述暴力攻击变得更加困难是值得的,但我从未在的用法示例中看到过这种想法,所以

  • 我在使用AppCompat时突然想到,我一直在使用<code>按钮位于我的布局XML文件中。我通过<code>view.getClass()做了一个测试。getSimpleName()并确认,即使我在XML中将其声明为,被加载的类实际上是。 这是怎么回事,在引擎盖下?

  • 还有人觉得这有点令人沮丧或有什么建议吗?从基类中膨胀相同的布局似乎并不罕见。

  • 我试图将我的GLSurfaceView设置在xml布局以及其他UI元素上,并不断获得错误inflating类com.vi.cubo01。MyGLSurfaceView在LogCat. 以下是java代码: 以及xml: