Android 如何将选定的listview项设置为contextmenu的标题?
我已经找到了一些与我所发布内容相关的帖子,但没有一篇告诉我如何使用从数据库填充的小而复杂的listview。以下是我填充listview的方式:Android 如何将选定的listview项设置为contextmenu的标题?,android,listview,contextmenu,Android,Listview,Contextmenu,我已经找到了一些与我所发布内容相关的帖子,但没有一篇告诉我如何使用从数据库填充的小而复杂的listview。以下是我填充listview的方式: final ListView lv = (ListView) getView().findViewById(R.id.mylistview); String[] from = { "sender", "subject", "file_name" }; int[] to = { R.id.sender, R.id.subject, R.i
final ListView lv = (ListView) getView().findViewById(R.id.mylistview);
String[] from = { "sender", "subject", "file_name" };
int[] to = { R.id.sender, R.id.subject, R.id.file_name };
ListAdapter adapter = new SimpleAdapter(getActivity(),mylist,
R.layout.list_item,from,to);
lv.setAdapter(adapter);
registerForContextMenu(lv);
到目前为止,代码运行良好,即listview正在按预期填充,现在长时间单击我正在显示关联菜单,如:
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)
{
if (v.getId()==R.id.mylistview)
{
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
String[] menuItems = getResources().getStringArray(R.array.menu);
for (int i = 0; i<menuItems.length; i++)
{
menu.add(Menu.NONE, i, i, menuItems[i]);
}
}
}
public void onCreateContextMenu(ContextMenu菜单,视图v,ContextMenuInfo menuInfo)
{
if(v.getId()==R.id.mylistview)
{
AdapterView.AdapterContextMenuInfo信息=(AdapterView.AdapterContextMenuInfo)菜单信息;
字符串[]menuItems=getResources().getStringArray(R.array.menu);
对于(int i=0;我后来自己发现了它:
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo)
{
HashMap<String , String>h=new HashMap<String, String>();
if (v.getId()==R.id.mylistview)
{
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
String[] menuItems = getResources().getStringArray(R.array.menu);
h=(HashMap<String, String>) lv.getItemAtPosition(info.position);
String s=h.get("sender");
menu.setHeaderTitle(s);
for (int i = 0; i<menuItems.length; i++)
{
menu.add(Menu.NONE, i, i, menuItems[i]);
}
}
}
public void onCreateContextMenu(ContextMenu菜单,视图v,ContextMenuInfo menuInfo)
{
HashMaph=新的HashMap();
if(v.getId()==R.id.mylistview)
{
AdapterView.AdapterContextMenuInfo信息=(AdapterView.AdapterContextMenuInfo)菜单信息;
字符串[]menuItems=getResources().getStringArray(R.array.menu);
h=(HashMap)lv.getItemAtPosition(info.position);
字符串s=h.get(“发送方”);
菜单设置标题;
对于(int i=0;i