在ListView
单/短点击,我可以这样做:
protected void onListItemClick(ListView listView, View v, int position,
long id) {
tvInt = reviews.get(position);
}
我如何为ContextMenu
执行此操作?我的ListView
只包含一个TextView
。
修改:我想获取TextView
中ListView
的值,而不是ContextMenu
。
答案 0 :(得分:2)
MenuItem
打包了额外的信息,您可以从中提取position
中所点击行的ListView
,然后只使用您在onListItemClick
回调中使用的代码:
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int clickedPosition = info.position;
tvInt = reviews.get(position);
// ...
如果您希望在构建ContextMenuInfo
时获取字符串,则onCreateContextMenu
回调中可以使用相同的信息ContextMenu
。