Intereting Posts
Получить модель телефона для Android Ошибка после добавления зависимостей к Action Bar Sherlock в Android Studio 0.5.8 В чем разница между использованием add (). AddToBackStack (), add (). Detach () и replace (). AddToBackStack () в FragmentTransaction? Как правильно включить 10 "и 7" макеты Android HorizontalScrollView с правильным layout_gravity работает неправильно Не удалось разрешить службу целевого намерения, Ошибка при доставке сообщения: ServiceIntent не найден Пакет приложений «AndroidManifest.xml» должен иметь как минимум 2 сегмента Выбранный TabLayout Значок закладки не выбран при запуске: Внедрить двойной клик для кнопки на Android Учебник для Android-приложения с PHONEGAP Обнаружение из браузера, если определенное приложение установлено на Android Добавить google-services.json в андроид-студию Android Создание настраиваемого измерения в Google Analytics Обновление диалога прогресса в Activity из AsyncTask Как добавить проект библиотеки в проект Android?

Как получить представление в RecyclerView.Adapter для Snackbar?

Я использую Swipe и Drag в RecyclerView с помощью этой статьи . При удалении элемента я хочу показать SnackBar но для отображения SnackBar требуется View. Я не знаю, как получить View внутри функции RecyclerAdapter .

Мой код:

 public void onItemDismiss(int position) { notes.remove(position); notifyItemRemoved(position); /* Show SnackBar */ } 

Изменить: Мой вопрос отличается от этого вопроса . У меня нет никаких проблем при реализации SwipetoDismiss. Я успешно его реализовал. Но я хочу показать SnackBar, чтобы пользователь мог быть исключен и отменить. У меня возникла проблема при показе SnackBar не в реализации onSwiped ().

Solutions Collecting From Web of "Как получить представление в RecyclerView.Adapter для Snackbar?"

Измените свой метод и передайте RecyclerView качестве параметра, чтобы получить представление

 public void onItemDismiss(int position,RecyclerView rv) { notes.remove(position); notifyItemRemoved(position); /* Show SnackBar */ Snackbar.make(rv, R.string.snackbar_text, Snackbar.LENGTH_LONG).show(); } 

РЕДАКТИРОВАТЬ

Закрытый конечный ItemTouchHelperAdapter mAdapter; Частный окончательный RecyclerView rv;

 public SimpleItemTouchHelperCallback(ItemTouchHelperAdapter adapter,RecyclerView rv) { mAdapter = adapter; this.rv=rv; } 

И затем пройдите

  @Override public void onSwiped(ViewHolder viewHolder, int direction) { mAdapter.onItemDismiss(viewHolder.getAdapterPosition(),rv); }