我正在尝试使用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();
在调用时出现错误:
07-31 17:23:53.365: E/AndroidRuntime(14128): java.lang.RuntimeException: Binary XML file line #17: You must supply a layout_height attribute.
我认为这是指"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">
这是一个 bug,还是我做错了什么?
PopupMenu
,该适配器填充了一个Fragment
的ListView
并意外地将应用程序上下文传递给了该适配器,结果也传递给了PopupMenu
构造函数...记住,孩子们,你的Context
很重要! - JorgeGRC