我正在使用XML文件为ListView创建上下文菜单。 (请参阅下文)。我还想为此上下文菜单设置标题。我读(在http://www.mail-archive.com/android-developers@googlegroups.com/msg43062.html)我可以在onCreateContextMenu方法中使用menu.setHeaderTitle(myContextMenuTitle)。但是我需要在XML文件中设置它。我怎么能做到这一点?
以下是onCreateContextMenu方法的代码,如果我做错了,请纠正我。 这是我的context_menu.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/open" android:title="Open"/>
</menu>
这是我的 onCreateContextMenu 方法:
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
super.onCreateContextMenu(menu, v, menuInfo);
}
这是我的 onCreate 方法:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// extras = getIntent().getExtras();
registerForContextMenu(getListView());
...
}
答案 0 :(得分:18)
您可以在菜单对象中调用setHeaderTitle("mytitle")
方法。
在覆盖方法中,您将菜单对象作为OnCreateContextMenu
方法的参数。
像这样:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderIcon(R.drawable.icon);
menu.setHeaderTitle("Share Menu.");
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.contextmenu, menu);
}
答案 1 :(得分:11)
你必须按照目前的方式进行。