Определить элемент GridView, выбранный в методе onContextItemSelected - PullRequest
2 голосов
/ 16 августа 2011

У меня есть GridView с ArrayAdapter, и я хотел бы определить выбор элемента контекста и показать опцию «Удалить» для удаления выбранного объекта. Я заполняю сетку изображениями правильно, нужно только обнаружить петицию об удалении. Мой код:

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);
}

Как я могу угадать, какой элемент массива я должен удалить? Спасибо

1 Ответ

3 голосов
/ 16 августа 2011

В onContextItemSelected попробуйте это:

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

Вы можете получить выбранный элемент следующим образом:

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

переопределить функцию getItem() в адаптере для возврата выбранногопункт ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...