如何找出为上下文菜单单击的网格行?

时间:2010-11-05 09:42:21

标签: android grid click contextmenu position

我有一个自定义布局,就像一个网格。我为contextmenu注册了它。现在,如果我长按一下,我想知道用户点击的位置。我必须让我的自定义布局实现MenuInfo吗?但点击位置呢?

1 个答案:

答案 0 :(得分:1)

@Override
public boolean onContextItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case DELETE_ID:
            AdapterView.AdapterContextMenuInfo info=
                (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();

            delete(info.id);
            return(true);
    }

    return(super.onOptionsItemSelected(item));
}

onContextItemSelected()中,如果上下文菜单适用于AdapterView(例如GridView),则可以将item.getMenuInfo()对象强制转换为AdapterView.AdapterContextMenuInfo个对象。该对象具有idposition字段。如果您使用id,则_IDCursorAdapterposition是适配器的索引。