我有一个自定义布局,就像一个网格。我为contextmenu注册了它。现在,如果我长按一下,我想知道用户点击的位置。我必须让我的自定义布局实现MenuInfo吗?但点击位置呢?
答案 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
个对象。该对象具有id
和position
字段。如果您使用id
,则_ID
为CursorAdapter
。 position
是适配器的索引。