使用此代码构建PopupMenu
时PopupMenu menu = new PopupMenu(getApplication(), view);
menu.getMenu().add("first");
menu.getMenu().add("second");
menu.show();
抛出此错误:
java.lang.RuntimeExeption:二进制XML文件行#17您必须提供一个 layout_height atrribute。
使用this
代替getApplication()
时,一切正常
这里有什么问题?为什么我无法使用getApplication()
?
答案 0 :(得分:0)
我建议你阅读这篇文章"Context, What Context?"。它解释了不同类型Context
之间的差异。特别请查看标题为" Context Capabilities"。
简而言之,当您使用getApplication()
时(大部分内容与getApplicationContext()
实际上相同),您获得的Centext
只是部分内容。由于Application
没有用户界面,因此在使用UI元素时,您可以使用某些功能。