如何使用 XML 文件创建上下文菜单?
我正在使用 XML 文件为我的 ListView 创建上下文菜单。 (请参见下文)。我还想为此上下文菜单设置标题。我读过(在 http://www.mail-archive.com /[email protected]/msg43062.html)我可以使用menu.setHeader onCreateContextMenu 方法中的 Title(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());
...
}
I am using XML file for creating Context Menu for my ListView. (Please see below). I also want to set a header for this Context Menu. I read (at http://www.mail-archive.com/[email protected]/msg43062.html)that I can use menu.setHeaderTitle(myContextMenuTitle) in onCreateContextMenu Method. But I need to set this in XML file. How can I accomplish this?
Following is code for onCreateContextMenu Method, correct me if I am doing anything wrong..
This is my context_menu.xml file:
<?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>
This is my onCreateContextMenu Method:
@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);
}
This is my onCreate Method:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// extras = getIntent().getExtras();
registerForContextMenu(getListView());
...
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在 ,menu 对象中调用
setHeaderTitle("mytitle")
方法。在重写方法中,您获取菜单对象作为
OnCreateContextMenu
方法的参数。像这样:
You can call
setHeaderTitle("mytitle")
method in ,menu object .In override method you get menu object as paramrter of
OnCreateContextMenu
method.like this:
你必须按照你现在的方式去做。
You have to do it the way you are currently doing it.