@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Selection Options");
menu.add(0, v.getId(), 0, "Remove");
}
Я хочу, чтобы в моем меню говорилось "Удалить AAPL"
Я бы получил строку AAPL из моего адаптера массива, но я не уверен, как я могу получить доступ к индексу адаптеров массива из этого метода.
Пример, если вы используете listviews с пользовательским объектом:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
MyObject obj = (MyObject) myListView.getItemAtPosition(info.position);
menu.setHeaderTitle("Selection Options");
menu.add(0, v.getId(), 0, "Remove " + obj.name);
}
Ввести menuInfo
в объект AdapterView.AdapterContextMenuInfo
. Оттуда вы можете получить position
и id
элемента в ListView
, который был длинным.
AdapterContextMenuInfo
. ЭтоAdapterView.AdapterContextMenuInfo
. Посмотрите этот пример проекта: github.com/commonsguy/cw-android/tree/master/Database/Constants