Мой 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();
}
}