NotifyItemRemoved не работает должным образом с помощью firebaserecycleradapter? - PullRequest
1 голос
/ 20 марта 2019

Я использую firebase-ui для извлечения из firebase и хочу удалить из отображения все status, равные unlive Я не хочу удалять его из firebase database, но только удаляю его из при отображении в recyclerview попытался также выполнить решение Невозможно вызвать этот метод, пока RecyclerView вычисляет макет или прокручивает, когда пытается удалить элемент из перечня утилит , где все еще встречается ошибка. Пожалуйста, помогите, я застрял здесь на несколько дней. Не могу найти никакого решения. Спасибо

mAdapter = new FirebaseRecyclerAdapter<Hotels_Model, Adapter_HotelsHolder>(mOptions) {
            @Override
            protected void onBindViewHolder(Adapter_HotelsHolder holder,int position, Hotels_Model model) {

                String status = model.getStatus();
                if (status.equals("unlive")) {
                    mAdapter.notifyItemRemoved(holder.getAdapterPosition());
                    mAdapter.notifyItemRangeChanged(holder.getAdapterPosition(), getItemCount());
                }

        }

Это моя ошибка, если я выделю position, где статус unlive

Cannot call this method while RecyclerView is computing a layout or scrolling android.support.v7.widget.RecyclerView

1 Ответ

0 голосов
/ 20 марта 2019

Так что вы можете легко сделать это следующим образом:

mAdapter = new FirebaseRecyclerAdapter<Hotels_Model, Adapter_HotelsHolder>(mOptions) {
            @Override
            protected void onBindViewHolder(Adapter_HotelsHolder holder,int position, Hotels_Model model) {

                String status = model.getStatus();
                if (status.equals("unlive")) {
                  holder.yourRowView.setVisibility(View.GONE);
                }

        }

Вам не нужно удалять свои предметы из переработчика.

...