RuntimeException:二进制 XML 文件第 17 行:您必须提供显示弹出菜单的布局高度属性

2023-11-26

        public void showPopup(int group,int img_index,JSONArray json_ar,View v){

        PopupMenu pm=new PopupMenu(EditPhotosActivity.this,v);
        pm.getMenuInflater().inflate(R.menu.popup_menu, pm.getMenu());          
        pm.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

            @Override
            public boolean onMenuItemClick(MenuItem item) {
                Toast.makeText(getBaseContext(),"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show();  
                return false;
            }
        });
        pm.show();
    }

The showPopup方法由动态创建的 Imagevew 的 onclick 调用。应用程序在执行时崩溃pm.show().

这是错误日志。

FATAL EXCEPTION: main
 java.lang.RuntimeException: Binary XML file line #17: You must supply a layout_height attribute.
    at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:491)
    at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:5709)
    at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:5850)
    at android.widget.FrameLayout$LayoutParams.<init>(FrameLayout.java:610)
    at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:554)
    at android.widget.FrameLayout.generateLayoutParams(FrameLayout.java:56)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:477)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
    at android.support.v7.internal.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:335)
    at android.support.v7.internal.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:190)
    at android.support.v7.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:128)
    at android.support.v7.internal.view.menu.MenuPopupHelper.show(MenuPopupHelper.java:102)
    at android.support.v7.widget.PopupMenu.show(PopupMenu.java:108)
    at com.newagesmb.version3.EditPhotosActivity$UserAlbum.showPopup(EditPhotosActivity.java:379)
    at com.newagesmb.version3.EditPhotosActivity$UserAlbum$1.onClick(EditPhotosActivity.java:246)
    at android.view.View.performClick(View.java:4212)
    at android.view.View$PerformClick.run(View.java:17476)
    at android.os.Handler.handleCallback(Handler.java:800)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:194)
    at android.app.ActivityThread.main(ActivityThread.java:5371)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
    at dalvik.system.NativeStart.main(Native Method)

这是布局

    <LinearLayout 
        android:id="@+id/face_outer"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:orientation="vertical"
        android:layout_weight=".2">
        <RelativeLayout 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/darker_gray">
            <TextView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/photo_face"
            android:paddingLeft="10dp"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"/>
            <ImageButton 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:src="@drawable/btn_add_photo"
                android:textColor="@android:color/white"
                android:padding="3dp"
                android:id="@+id/add_face"/>
        </RelativeLayout>

        <HorizontalScrollView 
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:id="@+id/face_scroll"
            android:background="@android:color/white"
            android:padding="2dp">
            <LinearLayout
                android:layout_height="match_parent"
                android:layout_width="wrap_content"
                android:id="@+id/face_linear"
                android:orientation="horizontal" >
            </LinearLayout>


        </HorizontalScrollView>

    </LinearLayout>

/这是调用 showPopup 方法的代码片段/

                LinearLayout ll_face=(LinearLayout) findViewById(R.id.face_linear);
            // The above line of code is written inside onCreate method

            ImageView imageView1=new ImageView(EditPhotosActivity.this);                                    
            imageView1.setPadding(3,3, 3,3);
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);

            imageView1.setLayoutParams(layoutParams);
            ll_face.addView(imageView1);

            img_loader.DisplayImage(tmp_json_array.getJSONObject(j).getString("thumb_image"),imageView1);
            final int group=i;
            final int img_index=j;
            imageView1.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {

                    showPopup(group,img_index,json_ar,v);

                }
            });

确保您设置了正确的主题。android.support.v7.widget.PopupMenu期望Application具有AppCompat主题,否则当您尝试显示主题时会抛出异常PopupMenu

 android:theme="@style/Theme.AppCompat"

But, android.widget.PopupMenu没有这个主题也可以工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RuntimeException:二进制 XML 文件第 17 行:您必须提供显示弹出菜单的布局高度属性 的相关文章

随机推荐

  • JAX-RS - 没有根节点的 JSON

    我有一个宁静的网络服务 响应是 cities id 1 name City 01 state A1 id 2 name City 02 state A1 但我想要这个 id 1 name City 01 state A1 id 2 name
  • JOptionPane 输入到 int

    我试图让 JOptionPane 获取输入并将其分配给 int 但我遇到了变量类型的一些问题 我正在尝试这样的事情 Int ans Integer JOptionPane showInputDialog frame Text JOption
  • 如何从写成单词的数字中读取值?

    众所周知 数字可以用数字来书写 也可以用名称来称呼 虽然有很多将 123 转换为 123 的示例 但我找不到如何将其反向转换的好示例 一些注意事项 基数 名义或序数 一 和 第一 常见的拼写错误 四十 四十 数百 千 2100 gt 二十一
  • 如何知道鼠标左键是否被按下

    我正在使用 PyAutoGUI 库 如何知道鼠标左键是否被按下 这就是我想做的 if leftmousebuttonpressed print left else print nothing 我是 PyAutoGUI 的作者 我可以确认当前
  • Android SDK路径未指定

    我已经安装了 android studio 但我在继续操作时遇到问题 问题是Android SDK路径未指定 这是什么意思 我需要下载什么东西还是什么 Android SDK 有问题 请执行以下步骤 但首先确保您的电脑已连接到互联网 打开你
  • Twitter资料页iOS Swift剖析(UIScrollView中的多个UITableView)

    嗨 他们到底是如何实现这个的 Twitter 个人资料页面有几个教程 但他们并没有处理所有的可能性 首先 当您滚动顶部或底部任何位置时 顶部视图开始滚动 直到分段控件 到达页面顶部 然后滚动不会停止 子表开始滚动 直到触地并在中间表视图开始
  • Linux 动态链接器中的“无版本信息可用”错误是什么意思?

    在我们的产品中 我们提供了一些动态链接到 libpam 等系统库的 Linux 二进制文件 在某些客户系统上 当程序运行时 我们会在 stderr 上收到以下错误 authpam lib libpam so 0 no version inf
  • UICollectionViewCell 按固有大小展开/折叠

    I have a collection view with a custom flow layout and many different cells of different height The width of the collect
  • Java AsynchronousFileChannel - 线程使用

    我理解Java的AsynchronousFileChannel是一个异步api 不会阻塞调用线程 并且可以使用系统线程池中的线程 我的问题是 AsynchronousFileChannel 操作是否具有 1 1 的线程比 换句话说 如果一个
  • 在 C++ 中创建一个没有 x*x 的 square() 函数

    我正在自学 C 和 Bjarne Stroustrup 的 Programming Principles and Practices Using C 一书 其中一个 试试这个 问这个 不使用乘法运算符实现 square 也就是说 通过重复加
  • 窗口最大化/未最大化时的事件

    当您最大化表单或取消最大化表单时是否会触发一个事件 在你说之前Resize or SizeChanged 只有在以下情况下才会被解雇 Size实际上发生了变化 如果您的窗口恰好与最大化窗口大小相同 则它们不会触发 地点看起来是下一个最佳选择
  • 如何从 ASP.NET 发送大量电子邮件?

    我为客户建立了一个网站 他们想要一个定制的新闻通讯工具 构建该工具很容易 但我不确定如何发送电子邮件 我设置了一个测试页面 并设法使用 System Net Mail 命名空间向自己发送测试电子邮件 我尝试将此代码应用于时事通讯页面上的循环
  • 如何在 Angular 7 中的表中添加行组件?

    我使用最新版本的角度 7 2 0 我有个人 tr 组件 例如 import Component OnInit Input from angular core Component selector app table row template
  • UITableView 意外地用 beginUpdates()/endUpdates()/performBatchUpdates() 弹起

    我有一个非常直截了当的UITableViewController NSFetchedResultsController案例在这里 它来自 Xcode Master Detail App 示例代码 因此很容易重现 我有一个 CoreData
  • Pinia getter 不更新

    我有以下代码
  • LinkedHashMap的keySet()和values()方法的行为[重复]

    这个问题在这里已经有答案了 可能的重复 LinkedHashMap 对象的 keySet 返回的顺序是否有保证 考虑我创建一个 LinkedHashMap 如下所示 Map
  • 以编程方式将 GitHub 存储库连接到 Google Cloud 项目

    我正在开发一个 Terraform 项目 该项目将设置跨越多个 GitHub 存储库的大型项目所需的所有 GCP 资源 我的目标是能够使用 Terraform 从头开始 完全重新创建云基础设施 我遇到的问题是 为了在 GCP 内使用 Ter
  • Django 什么是反向关系?

    谁能告诉我反向关系是什么意思 我已经开始使用 Django 并且在文档的很多地方我看到 反向关系 被提到 它到底是什么意思 为什么它有用 它与引用的 related name 有什么关系这个帖子 这是有关的文档相关名称 假设您有 2 个模型
  • 为什么使用 WTForms 而不是仅仅使用 HTML 发布

    我最近很好奇使用WTForms向flask提交数据有什么好处 纯 HTML JavaScript 或引导表单似乎更容易设计样式 也更容易提交 另外 您可以省略创建 WTForms 类所需的所有 Python 代码 有人可以解释一下优势是什么
  • RuntimeException:二进制 XML 文件第 17 行:您必须提供显示弹出菜单的布局高度属性

    public void showPopup int group int img index JSONArray json ar View v PopupMenu pm new PopupMenu EditPhotosActivity thi