0

In my case i am trying to filter the result from firebase data based on the inputs given by the user. Since firebase is case sensitive iam trying to convert the String Course into lowercase at both ends inorder to overcome the case sensitivity in the following code.

    mUserDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            for (DataSnapshot data:dataSnapshot.getChildren()){


                CollegeFilterDetails models=data.getValue(CollegeFilterDetails.class);





                  if(   (ClgType.equals("") || ClgType.equals(models.getType()))
                        &&(University.equals("")||University.equals(models.getUniversity()))
                        &&(Course.equals("")||Course.equals(models.getCourse().toLowerCase()))
                        &&(State.equals("")||State.equals(models.getState()))
                        &&(District.equals("") || District.equals(models.getDistrict()))

                        ){


                    filteredList.add(new ObjectModel(models.getName(),models.getPlace(),models.getImage()));
                    flag++;

                }
            }
            Toast.makeText(getBaseContext(), "found "+flag+" results", Toast.LENGTH_SHORT).show();
            adapter.notifyDataSetChanged();

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

This throws the error java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase()' on a null object reference when i add toLowerCase() to the Course.

Mohammed Javad
  • 163
  • 1
  • 11

0 Answers0