2010-09-16 94 views
3

嘗試根據ListView點擊項目設置ContextMenu標題。 ListView控件包含書籤列表 - >圖標+書籤標題ContextMenu標題 - >從點擊列表中獲取查看項目

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo); 
     menu.add(0, EDIT_ID, 0, R.string.menu_edit); 
     menu.add(0, DELETE_ID, 0, R.string.menu_delete); 
     menu.add(0, SHARE_ID, 0, R.string.menu_share); 

     AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo; 
     View itemID = (info.targetView); 
     menu.setHeaderTitle("bla" + itemID); 
    } 

當我運行這段代碼就說明[email protected]或什麼,如果我改變itemIDString itemID = ((TextView) info.targetView).getText().toString();我上長按,即使沒有錯誤得到強制關閉在Eclipse中或當我運行該應用程序時顯示。

我也想獲得圖標以同樣的方式...

感謝幫助!

回答

5

info.targetView是一個RelativeLayout,而不是TextView。將android:id屬性添加到您的標題TextView(例如android:id =「@ android:id/title」),然後獲取字符串值:

String title = ((TextView) info.targetView.findViewById(android.R.id.title)).getText(); 
+0

WORKED! :) 但它是CharSequence而不是String。 謝謝! – 2010-09-16 23:27:25