【发布时间】:2021-07-16 14:01:18
【问题描述】:
我不明白问题是什么,据我说一切正常。
Logcat:
com.google.firebase.database.DatabaseException:无法将 java.lang.String 类型的对象转换为 com.hamidmadarati.mobilsorgulari.Home.Dashboard.ui.PassengerRecyclerModel 类型 在 com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertBean(CustomClassMapper.java:436) 在 com.google.firebase.database.core.utilities.encoding.CustomClassMapper.deserializeToClass(CustomClassMapper.java:232) 在 com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertToCustomClass(CustomClassMapper.java:80) 在 com.google.firebase.database.DataSnapshot.getValue(DataSnapshot.java:203)
片段:
public class PassengerFragment extends Fragment {
private RecyclerView listVehiclesWeekDay;
private FirebaseRecyclerOptions<PassengerRecyclerModel> options;
private FirebaseRecyclerAdapter<PassengerRecyclerModel, PassengerMyViewHolderRecycler> adapter;
private DatabaseReference databaseReference;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_passenger, container,false);
listVehiclesWeekDay = view.findViewById(R.id.listVehiclesWeekDay);
listVehiclesWeekDay.setHasFixedSize(true);
listVehiclesWeekDay.setLayoutManager(new LinearLayoutManager(getActivity()));
databaseReference = FirebaseDatabase.getInstance().getReference().child("Travels").child("DaysOfTheWeekSimple");
options = new FirebaseRecyclerOptions.Builder<PassengerRecyclerModel>().setQuery(databaseReference, PassengerRecyclerModel.class).build();
adapter = new FirebaseRecyclerAdapter<PassengerRecyclerModel, PassengerMyViewHolderRecycler>(options){
@Override
protected void onBindViewHolder(@NonNull PassengerMyViewHolderRecycler holder, int position, @NonNull PassengerRecyclerModel model) {
if (model.getDay() != null){
holder.titleTextView.setText(model.getDay());
}
}
@Override
public PassengerMyViewHolderRecycler onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerow, parent, false);
return new PassengerMyViewHolderRecycler(view);
}
};
adapter.startListening();
listVehiclesWeekDay.smoothScrollToPosition(0);
listVehiclesWeekDay.setAdapter(adapter);
adapter.notifyDataSetChanged();
return view;
}
}
类:
public class PassengerRecyclerModel {
private String day; //name
public PassengerRecyclerModel() {
//Empty - for Firebase Database
}
// model
public PassengerRecyclerModel(String day) {
this.day = day;
}
//Getter and Setter
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
}
【问题讨论】:
-
您好,请编辑您的问题并以文本格式而不是屏幕截图添加您的代码。
-
我在将对象转换为带有 firebase 类的字符串时遇到问题,代码已附加
标签: java android firebase firebase-realtime-database firebaseui