我正在使用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());
...
}
发布于 2010-04-07 21:54:31
你必须按照你现在做的方式去做。
发布于 2011-08-31 21:00:07
您可以在菜单对象中调用setHeaderTitle("mytitle")
方法。在override方法中,你得到菜单对象作为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);
}
https://stackoverflow.com/questions/2592160
复制相似问题