2010-09-16 58 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