اذهب إلى المحتوى

السؤال

نشر

احاول جلب بيانات من الـfirebase لكن يظهر لدي الخطأ التالي:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.luvtas.campingau, PID: 11763
    com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type com.luvtas.campingau.Model.CamperSiteModel
        at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertBean(CustomClassMapper.java:436)
        at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.deserializeToClass(CustomClassMapper.java:232)
        at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertToCustomClass(CustomClassMapper.java:80)
        at com.google.firebase.database.DataSnapshot.getValue(DataSnapshot.java:203)
        at com.luvtas.campingau.Fragment.ExploreFragment$3.onDataChange(ExploreFragment.java:128)
        at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75)
        at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)
        at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

هذا هو الكود:

private RecyclerView recyclerView;
    private CamperSiteAdapter camperSiteAdapter;
    private List<CamperSiteModel> camperSiteModel;
    EditText seatch_bar;
private void readCampSite(){
        DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Cte");
        reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                if(seatch_bar.getText().toString().equals("")){
                    camperSiteModel.clear();
                    for(DataSnapshot snapshot : dataSnapshot.getChildren()){
                        CamperSiteModel camperSiteModel1 = snapshot.getValue(CamperSiteModel.class);
                        camperSiteModel.add(camperSiteModel1);
                    }
                    camperSiteAdapter.notifyDataSetChanged();
                }
            }
            @Override
            public void onCancelled(@NonNull DatabaseError error) {
            }
        });
    }

كود الـmodel:

 public CamperSiteModel() {
    }
    public CamperSiteModel(String camperSiteID, String camperSiteName, String camperSiteImage, String camperSiteType, String camperSiteDistance, String camperSiteInfo, String camperSiteSummary, String camperSiteAddress, String camperSiteLatitude, String camperSiteLongitude, String camperSitePrice1, String camperSitePrice2, String camperSiteEmail, String camperSiteSub) {
        CamperSiteID = camperSiteID;
        CamperSiteName = camperSiteName;
        CamperSiteImage = camperSiteImage;
        CamperSiteType = camperSiteType;
        CamperSiteDistance = camperSiteDistance;
        CamperSiteInfo = camperSiteInfo;
        CamperSiteSummary = camperSiteSummary;
        CamperSiteAddress = camperSiteAddress;
        CamperSiteLatitude = camperSiteLatitude;
        CamperSiteLongitude = camperSiteLongitude;
        CamperSitePrice1 = camperSitePrice1;
        CamperSitePrice2 = camperSitePrice2;
        CamperSiteEmail = camperSiteEmail;
        CamperSiteSub = camperSiteSub;
    }

فما هي المشكلة ؟

Recommended Posts

  • 0
نشر

لحل المشكلة يرجى حذف الـfor loop ليكون الكود كالتالي:

if(seatch_bar.getText().toString().equals("")){
  camperSiteModel.clear();
  CamperSiteModel camperSiteModel1 = dataSnapshot.getValue(CamperSiteModel.class);
  camperSiteModel.add(camperSiteModel1);
  camperSiteAdapter.notifyDataSetChanged();
  }

هكذا سيتم جلب البيانات حسب المودل CamperSiteModal.class

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...