2013-02-09 96 views
2

名稱形式上下文菜單我用我的活動在android列表視圖...如何獲得所選項目的Android

現在我需要得到從列表中選擇項目的名稱...

這裏是我的菜單代碼創建

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo);   


    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.activity_main, menu); //select layout which should pop up in context menu 

    menu.add("Delete"); 
    menu.add("Rename"); 

} 

什麼,我需要的是讓下面的函數,它捕獲上下文菜單上點擊所選項目的名稱列表視圖的方式。

@Override 
public boolean onContextItemSelected(MenuItem item) 
{ 

    super.onContextItemSelected(item); 


    if(item.getTitle()=="Delete"){ 
     //slected item's name in string varible here?? 
    } 
    if(item.getTitle()=="Rename"){ 
      //slected item's name in string varible here?? 
    } 
    return true; 

} 
+1

問題4444444 – David 2013-02-09 16:34:23

+0

@大衛真的?涼。 – jasonflaherty 2013-02-09 16:35:18

回答

6

得到的itemId使用這樣的:如果你想收到的名稱

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 

您可以通過

info.id 

獲得一個項目的ID,你也可以用它來info.position以獲取列表中項目的位置。隨着位置你可以從ListView中獲得該項目獲得

+0

感謝它很好地工作 – 2013-02-09 19:07:35

0

公共布爾onContextItemSelected的項目(菜單項項){ AdapterView.AdapterContextMenuInfo itemInfo =(AdapterView.AdapterContextMenuInfo)item.getMenuInfo()的名稱; int itemId = itemInfo.position; //實現我們的邏輯

if (item.getTitle()=="Add") { 
     Toast.makeText(this, "Item id [" + itemId + "]", Toast.LENGTH_SHORT).show(); 


    } 
    return true; 

}