[英]how to set the selected listview item as header for contextmenu?
我發現了幾篇與我發布的內容有關的帖子,但是沒有一篇告訴我如何使用數據庫中填充的少量復雜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.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]);
}
}
}
現在我想將R.id.sender設置為上下文菜單的標題,該怎么做? 謝謝你的幫助。
后來自己發現了它:
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]);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.