Мои данные Firebase в порядке, поле «CashbackAmount» - это строка в базе данных, поэтому я получаю строку из базы данных и сохраняю ее в строке. Как можно сказать, что я получаю Long, когда данные отправляются из Firebase в виде строки?
java.lang.RuntimeException: Could not deserialize object. Failed to convert value of type java.lang.Long to String (found in field 'cashbackAmount')
Вот моя коллекция Firestore.
Это мой класс модели, который обрабатывает данные:
public class Userdata {
private String name,phoneNumber,paymentOption ;
private int code;
private String cashbackAmount;
public Userdata() {
}
public Userdata(String name, String phoneNumber, String paymentOption, int code, String cashbackAmount) {
this.name = name;
this.phoneNumber = phoneNumber;
this.paymentOption = paymentOption;
this.code = code;
this.cashbackAmount = cashbackAmount;
}
public String getName() {
return name;
}
public String getPhoneNumber() {
return phoneNumber;
}
public String getPaymentOption() {
return paymentOption;
}
public int getCode() {
return code;
}
public String getCashbackAmount() {
return cashbackAmount;
}
}
Это мой класс адаптера.
public class UserAdapter extends FirestoreRecyclerAdapter<Userdata, UserAdapter.Userholder> {
public UserAdapter(@NonNull FirestoreRecyclerOptions<Userdata> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull Userholder holder, int position, @NonNull Userdata model) {
holder.uusername.setText(model.getName());
holder.umobileno.setText(model.getPhoneNumber());
holder.upayment.setText(model.getPaymentOption());
holder.uamount.setText(model.getCashbackAmount());
holder.ucode.setText(String.valueOf(model.getCode()));
}
@NonNull
@Override
public Userholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.singledata,parent,false);
return new Userholder(view);
}
class Userholder extends RecyclerView.ViewHolder{
TextView uusername;
TextView umobileno;
TextView upayment;
TextView uamount;
TextView ucode;
public Userholder(@NonNull View itemView) {
super(itemView);
uusername=itemView.findViewById(R.id.username);
umobileno=itemView.findViewById(R.id.Mobileno);
upayment=itemView.findViewById(R.id.paymentoption);
uamount=itemView.findViewById(R.id.cashamount);
ucode=itemView.findViewById(R.id.uniqcode);
}
}
}