Мой макет Firebase
Я пытаюсь сравнить название ресторана с именем в избранном пользователя в порядке чтобы добавить их в список для просмотра переработчика. Как мне это сделать? Ниже мой код. Я могу собрать все детали ресторана в список, но как мне сравнить его с избранными пользователями?
public class AccountManagement extends AppCompatActivity implements View.OnClickListener {
private FirebaseAuth firebaseAuth;
private DatabaseReference mDatabase, aDatabase;
Button btLogout;
ImageButton IbtHome;
TextView tvAbout;
ArrayList<RestaurantDetails> alRestaurantDetails, alFavorites = new ArrayList<>();
RecyclerView rvFavourites, rvFavouritesRecommendations;
SearchAdapter.RecyclerViewOnClicklistener listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account_management);
firebaseAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference("Users/" + firebaseAuth.getUid());
aDatabase = FirebaseDatabase.getInstance().getReference().child("Restaurant");
IbtHome = findViewById(R.id.HomeAccountManagementBt);
tvAbout = findViewById(R.id.AboutTV);
btLogout = findViewById(R.id.LogoutBT);
rvFavourites = findViewById(R.id.rvAccountManagementFavourites);
rvFavouritesRecommendations = findViewById(R.id.rvFaovuritesRecommendationV);
//Loads Data onto screen.
mDatabase.addValueEventListener(new ValueEventListener() {
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
HashMap<String, Object> dataMap = (HashMap<String, Object>) dataSnapshot.getValue();
try {
String fname = String.valueOf(dataMap.get("First Name"));
String sname = String.valueOf(dataMap.get("Second Name"));
String dob = String.valueOf(dataMap.get("DOB"));
String address = String.valueOf(dataMap.get("Address"));
String email = String.valueOf(dataMap.get("Email"));
String diet = String.valueOf(dataMap.get("Diet"));
tvAbout.setText("Name: " + fname + " " + sname + "\nDate of Birth: " + dob + "\nAddress: " + address + "\nEmail: " + email + "\nDiet Requirements: " + diet);
} catch (ClassCastException err) {
Toast.makeText(getApplicationContext(), "Some Error", Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
if (aDatabase != null) {
aDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
alRestaurantDetails.add(ds.getValue(RestaurantDetails.class));
}
listener = new SearchAdapter.RecyclerViewOnClicklistener() {
@Override
public void onClick(View v, int position) {
Intent intent = new Intent(getApplicationContext(), RestaurantScreen.class);
intent.putExtra("RestaurantName", alRestaurantDetails.get(position).getRestaurantName());
intent.putExtra("RestaurantType", alRestaurantDetails.get(position).getRestaurantType());
intent.putExtra("RestaurantMain", alRestaurantDetails.get(position).getRestaurantMain());
startActivity(intent);
}
};
SearchAdapter saSearchAdapter = new SearchAdapter(alRestaurantDetails, listener);
rvFavourites.setAdapter(saSearchAdapter);
rvFavouritesRecommendations.setAdapter(saSearchAdapter);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(AccountManagement.this, databaseError.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
}