PopupMenu仅将此作为上下文使用

时间:2014-07-31 17:55:37

标签: java android popupmenu

使用此代码构建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()

来引用上下文

1 个答案:

答案 0 :(得分:0)

我建议你阅读这篇文章"Context, What Context?"。它解释了不同类型Context之间的差异。特别请查看标题为" Context Capabilities"。

的部分中的表格

简而言之,当您使用getApplication()时(大部分内容与getApplicationContext()实际上相同),您获得的Centext只是部分内容。由于Application没有用户界面,因此在使用UI元素时,您可以使用某些功能。