打开ContextMenu时抓取列表项TextView值

时间:2012-07-04 01:08:34

标签: android android-listview contextmenu textview

ListView单/短点击,我可以这样做:

protected void onListItemClick(ListView listView, View v, int position,
        long id) {
    tvInt = reviews.get(position);
}

我如何为ContextMenu执行此操作?我的ListView只包含一个TextView

修改:我想获取TextViewListView的值,而不是ContextMenu

1 个答案:

答案 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