【问题标题】:Detect the GridView item selected in the method onContextItemSelected检测方法onContextItemSelected中选中的GridView项
【发布时间】:2011-08-16 05:29:09
【问题描述】:

我有一个带有 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);
}

我如何猜测我必须删除的数组元素是什么?谢谢

【问题讨论】:

    标签: java android gridview


    【解决方案1】:

    onContextItemSelected 试试这个:

    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    

    你可以像这样得到选中的项目:

    youradapter.getItem((int)info.id))
    

    覆盖适配器中的getItem() 函数以返回所选项目..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      相关资源
      最近更新 更多