Это код, из которого я получаю текст:
etSearchFriends = (EditText) findViewById(R.id.etSearchFriends);
buttonSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
searchText = etSearchFriends.getText().toString();
filterLocation(searchText);
}
});
Вот фильтр, где код должен работать, но, к сожалению, это не так:
private void filterLocation(final String s) {
final ArrayList<User> users = new ArrayList<>();
Log.d("UserData1",s);
fRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
fname = dataSnapshot1.child("fname").getValue(String.class);
}
for (User user1 : ListOfBranches.getUsers()) {
if (fname.toLowerCase().contains(s)) {
users.add(user1);
Log.d("UserData3", dataSnapshot.getValue(String.class));
}
}
friendsAdapter.filterLocation(users);
}
Пока этосписок, где из базы данных извлекаются другие данные:
userRef = FirebaseDatabase.getInstance().getReference().child("UserFiture");
userRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
// User user1 = dataSnapshot.getValue(User.class);
User u = new User();
String fname = dataSnapshot.child("fName").getValue(String.class);
String lname = dataSnapshot.child("lName").getValue(String.class);
String age = dataSnapshot.child("age").getValue(String.class);
String gender = dataSnapshot.child("gender").getValue(String.class);
u.setfName(fname);
u.setlName(lname);
u.setAge(age);
u.setGender(gender);
users.add(u);
Log.e("dataSnapshot", String.valueOf(u));
}
Я хочу получить все данные здесь и показать их, если текст поиска равен fname: ![enter image description here](https://i.stack.imgur.com/vptQP.png)