我有一个带有ArrayAdapter的GridView,我想检测上下文项目选择并显示“删除”选项以删除所选对象。我正确填写图像视图只需要检测删除请求。我的代码:
ArrayList<MyClass> array;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.maingrid);
array=Manager.getMyArray();
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new mArrayAdapter(this,array) );
registerForContextMenu(gridview);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.add(0, DELETE_ID, 0 , R.string.delete);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
switch(item.getItemId()) {
case DELETE_ID:
return true;
}
return super.onContextItemSelected(item);
}
我怎么能猜出我必须删除的数组元素是什么?感谢
答案 0 :(得分:3)
在onContextItemSelected
试试这个:
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
您可以像这样获取所选项目:
youradapter.getItem((int)info.id))
覆盖适配器中的getItem()
函数以返回所选项目。