Android V7支持库弹出菜单

LeD*_*Don 13 android android-support-library

我正在尝试使用Support V7 Library实现PopupMenu.所有编译都很好但是当我试着打电话时:

    PopupMenu popup = new PopupMenu(this, v);
    popup.getMenu().add(Menu.NONE,MENU_SHARE_A,1,R.string.A);
    popup.getMenu().add(Menu.NONE,MENU_SHARE_B,2,R.string.B);
    popup.show();
Run Code Online (Sandbox Code Playgroud)

通话时出错:

07-31 17:23:53.365:E/AndroidRuntime(14128):java.lang.RuntimeException:二进制XML文件行#17:您必须提供layout_height属性.

使用这个元素我认为是"abc_popup_menu_item_layout.xml":

<android.support.v7.internal.view.menu.ListMenuItemView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="?attr/dropdownListPreferredItemHeight"
        android:minWidth="196dip"
        android:paddingRight="16dip">
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是我做错了什么?

Ale*_*han 18

PopupMenu popup = new PopupMenu(this, v);
Run Code Online (Sandbox Code Playgroud)

什么是"这个"指的是什么?第一个参数必须是像Activity这样的上下文,而不是ApplicationContext!


Łuk*_*ski 14

您可能想要检查清单文件中是否指定了适当的主题:

<application ... android:theme="@style/Theme.AppCompat">
Run Code Online (Sandbox Code Playgroud)