2012-03-18 25 views
0

我想做什麼 我在ListView中有幾個項目。當我長按一個項目時,我會彈出幾個選項。這些選項是「分享任務」。當用戶選擇「共享任務」時,我想讓他們長時間按下的項目的標題/文本被檢索並傳遞給方法。我如何獲得在ListView項上設置的文本

什麼是我能夠做到的,到目前爲止 我設法讓該文本菜單被召入使用下面的方法顯示在ListView項目的ID和位置。

@Override 
public boolean onContextItemSelected(MenuItem item) 
{ 
    switch (item.getItemId()) 
    { 
    case R.id.menuShare : 
     //Identify list item on which editing needs to be performed 
     AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 

     //METHOD TO SHARE TASK NEEDS TO GO HERE 
     shareTask(); 
     return true; 
    } 
    return super.onContextItemSelected(item); 
} 

我需要 幫助我想不通我怎麼能現在得到在其上的ContextMenu被稱爲項目的文本/標題是什麼。我打算然後將這個字符串傳遞給shareTask()函數來啓動一個選擇器。我通過的標題將用於例如電子郵件的標題。

非常感謝您提前!

回答

0

您應該使用下面的代碼獲取列表項的文字:

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 
//list item's text on which long-pressed is performed 
String text = yourListView.getAdapter().getItem(info.position).toString(); 
+0

謝謝Waqas。我試圖實現這個時遇到了一個問題。當我創建我的Listview時,我給了它一個「@ + id/android:list」的id屬性。但是當我嘗試用「R.id.list」替換上面在「yourListView」中給出的代碼時,這個項目似乎不存在。請問我做錯了什麼? – Vim 2012-03-18 21:15:40

+0

看起來像你的活動是類型** ListActivity **。所以我相信你可以簡單地使用'this.getAdapter()'來引用你的ListView – waqaslam 2012-03-18 22:24:54

相關問題