RecyclerView падает при прокрутке до последнего элемента - PullRequest
0 голосов
/ 09 апреля 2020

Мой recyclerView загружает изображения и текст из базы данных реального времени Firebase без каких-либо проблем, и я могу прокрутить его быстро или медленно, но когда я добираюсь до последнего элемента, он падает. В чем может быть проблема?

Ниже - мой logcat

2020-04-09 20: 05: 05.404 24971-24971 / com.example.realestatemw E / AndroidRuntime: FATAL EXCEPTION: main Process : com.example.realestatemw, PID: 24971 com.google.firebase.database.DatabaseException: Невозможно преобразовать объект типа java .lang.String в тип com.example.realestatemw.Agent на com.google.firebase. database.core.utilities.encoding.CustomClassMapper.convertBean (com.google.firebase: firebase-database @@ 19.2.1: 435) на com.google.firebase.database.core.utilities.encoding.CustomClassMapper.deserializeToClass (com. google.firebase: firebase-database @@ 19.2.1: 231) на com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertToCustomClass (com.google.firebase: firebase-database @@ 19.2.1: 79 ) в com.google.firebase.database.DataSnapshot.getValue (com.google.firebase: firebase-database @@ 19.2.1: 203) в com.firebase.ui.database.ClassSnapshotParser.parseSnapshot (ClassSnapshotParser. java: 29) на com.firebase.ui.data base.ClassSnapshotParser.parseSnapshot (ClassSnapshotParser. java: 15) по адресу com.firebase.ui.common.BaseCachingSnapshotParser.parseSnapshot (BaseCachingSnapshotParser. java: 36) по адресу com.firebase.uiapbase.SourceBaseBoSignableSource.ObbaseSourceBase.SourceBaseBase.ObBaseOnt. java: 52) по адресу com.firebase.ui.database.FirebaseRecyclerAdapter.getItem (FirebaseRecyclerAdapter. java: 109) по адресу com.firebase.ui.database.FirebaseRecyclerAdapter.onBindViewHolder (FirebaseRecyclerAdapter. * 1019: at 101. at 101. .recyclerview.widget.RecyclerView $ Adapter.onBindViewHolder (RecyclerView. java: 7065) в androidx.recyclerview.widget.RecyclerView $ Adapter.bindViewHolder (RecyclerView. java: 7107) в androidx.recyclerview.widget. « ) на androidx.recycler view.widget. *: 368) на androidx.recyclerview.widget.GapWorker.run (GapWorker. java: 399) на android .os.Handler.handleCallback (Обработчик. java: 836) на android .os.Handler .dispatchMessage (Обработчик. java: 103) в android .os.Looper.l oop (Looper. java: 203) в android .app.ActivityThread.main (ActivityThread. java: 6368) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java: 1063) в com. android. internal.os.ZygoteInit.main (ZygoteInit. java: 924) 2020-04-09 20: 05: 05.458 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0) 2020-04-09 20: 05: 05.526 1728-1793 /? E / MFI-Conn: (mdfx_conn_conn, 76) mdfx_conn_conn (): сбой подключения MFI !! 2020-04-09 20: 05: 05.526 1728-1793 /? E / MFI-Conn: (mdfx_conn_init_legacy, 363) mdfx_conn_init_legacy (): mdfx_conn_conn () ошибка !! 2020-04-09 20: 05: 05.526 1728-1793 /? E / MFI-RDS: (rds_mal_conn_init, 819) [RDS] [rds_mal_conn_init] mdfx_conn_init_legacy получает NULLLLLLL !!!!! 2020-04-09 20: 05: 05.709 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0) 2020-04-09 20: 05: 06.529 1728-1793 /? E / MFI-Conn: (mdfx_conn_conn, 76) mdfx_conn_conn (): сбой подключения MFI !! 2020-04-09 20: 05: 06.529 1728-1793 /? E / MFI-Conn: (mdfx_conn_init_legacy, 363) mdfx_conn_init_legacy (): mdfx_conn_conn () ошибка !! 2020-04-09 20: 05: 06.529 1728-1793 /? E / MFI-RDS: (rds_mal_conn_init, 819) [RDS] [rds_mal_conn_init] mdfx_conn_init_legacy получает NULLLLLLL !!!!! 2020-04-09 20: 05: 06.680 23860-23898 /? E / StreamController: различный размер entryTreeNode против восстановленных контроллеров: 10, 5 2020-04-09 20: 05: 06.969 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0) 2020-04-09 20: 05: 07.218 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0) 2020-04-09 20: 05: 07.532 1728-1793 /? E / MFI-Conn: (mdfx_conn_conn, 76) mdfx_conn_conn (): сбой подключения MFI !! 2020-04-09 20: 05: 07.532 1728-1793 /? E / MFI-Conn: (mdfx_conn_init_legacy, 363) mdfx_conn_init_legacy (): mdfx_conn_conn () ошибка !! 2020-04-09 20: 05: 07.533 1728-1793 /? E / MFI-RDS: (rds_mal_conn_init, 819) [RDS] [rds_mal_conn_init] mdfx_conn_init_legacy получает NULLLLLLL !!!!! 2020-04-09 20: 05: 07.719 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0) 2020-04-09 20: 05: 07.969 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0) 2020-04-09 20: 05: 08.219 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0) 2020-04-09 20: 05: 08.469 1176-1281 /? E / PROXIMITY: ProximitySensor: неизвестное событие (тип = 3, код = 0)

Ниже мой код

publi c Класс HomeFragment расширяет фрагмент {

private RecyclerView recyclerView;


FirebaseRecyclerAdapter<Agent, AgentHolder> firebaseRecyclerAdapter;

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    final View view = inflater.inflate(R.layout.home_fragment, container, false);
    //1. get a reference to recyclerView
    recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);
    recyclerView.setHasFixedSize(true);

    // 2. set layoutManger
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    ViewCompat.setNestedScrollingEnabled(recyclerView,false);


    FirebaseRecyclerOptions<Agent> options = new FirebaseRecyclerOptions.Builder<Agent>()
            .setQuery(FirebaseDatabase.getInstance().getReference().child("Buy"), Agent.class)
            .build();


    firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Agent, AgentHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull AgentHolder holder, int position, @NonNull Agent model) {
            holder.setCity(model.getCity());
            holder.setTown(model.getTown());
            holder.setImage(holder.mView.getContext(), model.getImage());

        }

        @NonNull
        @Override
        public AgentHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

            View view1 = LayoutInflater.from(parent.getContext()).inflate(R.layout.individual_row, parent,
                    false);

            return new AgentHolder(view1);
        }
    };


    recyclerView.setAdapter(firebaseRecyclerAdapter);

    return view;

}




@Override
public void onResume() {
    super.onResume();

        firebaseRecyclerAdapter.startListening();
    }

@Override
public void onDestroy() {
    super.onDestroy();
    firebaseRecyclerAdapter.stopListening();
}

}

...