Удаление картинок из заметок.

Урок 28 — Удаление картинок из заметок.

Что ж, давайте закончим работу с приложением заметок, добавив удаление изображений.

Сценарий будет простым: пользователь делает длинное нажатие на изображение, мы показываем диалог, и, если пользователь соглашается с удалением — удаляем.

Обработка длинных нажатий

В первую очередь, создадим в NoteImagesAdapter интерфейс листенера, который мы будем дёргать при лонгтапе на изображение:

public interface OnNoteImageLongClickListener {
    void onImageLongClick(long imageId);
}

Поскольку у нас один адаптер используется и при редактировании, и при отображении заметки, а удалять изображения мы будем только в режиме редактирования, мы будем передавать null в качестве Listener, если обработка лонгтапов не нужна, и будем обрабатывать их только в режиме редактирования.

Создадим Listener в адаптере:

@Nullable
private final OnNoteImageLongClickListener onNoteImageLongClickListener;

public NoteImagesAdapter(Cursor cursor,
                         @Nullable OnNoteImageLongClickListener onNoteImageLongClickListener) {
    super(cursor);
    this.onNoteImageLongClickListener = onNoteImageLongClickListener;
}

В NoteActivity добавим ещё один null в конструктор:

noteImagesAdapter = new NoteImagesAdapter(null, null);

В CreateNoteActivity создадим поле для слушателя:

private final NoteImagesAdapter.OnNoteImageLongClickListener onNoteImageLongClickListener =
        new NoteImagesAdapter.OnNoteImageLongClickListener() {
            @Override
            public void onImageLongClick(long imageId) {
            }
        };

и передадим его в конструктор адаптера:


Продолжение доступно на платных тарифах

Это недорого — всего от 440 ₽ в месяц!


ВЫБРАТЬ ТАРИФ


Продолжение доступно после регистрации

Все уроки на сайте доступны абсолютно бесплатно после регистрации.

Регистрация займёт меньше минуты ;)