尝试根据ListView单击项设置ContextMenu标题。 ListView包含书签列表 - > FAVICON + BOOKMARK TITLE
@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);
}
当我运行此代码时,它会显示android.widget.RelativeLayout@423d2389
或其他内容,如果我将itemID
更改为String itemID = ((TextView) info.targetView).getText().toString();
,即使Eclipse中没有显示任何错误,我也会在长时间点击时关闭当我运行应用程序时。
我也想以同样的方式获得favicon ......
感谢帮助!
答案 0 :(得分:5)
info.targetView是RelativeLayout,而不是TextView。将android:id属性添加到标题TextView(例如android:id =“@ android:id / title”),然后通过以下方式获取字符串值:
String title = ((TextView) info.targetView.findViewById(android.R.id.title)).getText();