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.