При нажатии на ListView вызвать меню

192
31 марта 2018, 16:06

Имеется ListView, в котором находится информация. Как сделать так, чтобы при долгом нажатии на элемент списка появлялось контекстное меню, в котором были бы пункты удалить/изменить.

Answer 1

Если я правильно понял, то вам должен подойти ContextMenu. Это контектное меню со списком действий, которое вызывается при долгом тапе. Как его использовать с ListView:

protected void onCreate(Bundle savedInstanceState) {
-------
lv1 = (ListView) findViewById(R.id.listings);
registerForContextMenu(lv1);
lv1.setOnItemClickListener(this);
}

Далее переопределяете эти 2 метода:

public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
        .getMenuInfo();
switch (item.getItemId()) {
case R.id.edit:
    //действия при изменении
    return true;
case R.id.delete:
    //при удалении
    return true;
default:
    return super.onContextItemSelected(item);
 }
}

"R.menu.context_menu" создаётся в отдельном файле.

READ ALSO
Комплексный json-ответ в spring boot с помощью jackson

Комплексный json-ответ в spring boot с помощью jackson

Пишу spring mvcДля отправки json использую view (id, name, phone) и jackson

166
Что такое объектный модуль?

Что такое объектный модуль?

Что такое объектный модуль? Это что-то вроде скомпилированного java файла?

157
javafx progruard

javafx progruard

Ребят подскажите какой конфиг ставить, чтобы запустить jar после обфускации? Использую proguard gui, вроде все проходит без ошибок, но jar на выходе...

163
Isotope не срабатывает callback после filter

Isotope не срабатывает callback после filter

Использую библиотеку Isotope для отображения и фильтрации элементов с изображениями на странице

188