在我的情况下,我试图根据用户给出的输入过滤firebase数据的结果。由于firebase是区分大小写的,我试图将String Course
转换为两端的小写,以便在以下代码中克服区分大小写。
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) {
}
});
当我向课程添加java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.String.toLowerCase()' on a null object reference
时,这会引发错误toLowerCase()
。