Прежде всего, я новичок здесь, извиняюсь за переполнение стека, за то, что не выложил весь код подробно.
Я пытаюсь получить пользовательский ввод из предыдущего действия и проанализировать егополе значения, чтобы пользователь мог получить все данные, относящиеся к поисковому запросу.
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapater;
private RecyclerView.LayoutManager mLayoutManager;
private FirebaseFirestore db;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_packages_list);
final ArrayList<Packages> packagesList = new ArrayList<>();
mRecyclerView = findViewById(R.id.packsRecycler);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(this);
mAdapater = new PackagesAdapter(packagesList);
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(mAdapater);
Bundle extras = getIntent().getExtras();
String startL = extras.getString("startLocation"); //I want to parse this userInput to the value at whereEqualTo()//
String endL = extras.getString("endLocation");// And is it possible to parse this to another field: called searchCityDrop, value://
db = FirebaseFirestore.getInstance();
db.collection("PackageDetails").whereEqualTo(field:"searchCityPick", value:startL).get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
if (!queryDocumentSnapshots.isEmpty()){
List<DocumentSnapshot> list = queryDocumentSnapshots.getDocuments();
for (DocumentSnapshot d : list){
Packages p = d.toObject(Packages.class);
packagesList.add(p);
}
mAdapater.notifyDataSetChanged();
}
else {
Toast.makeText(PackagesListActivity.this, "Results not found! According to your destination.", Toast.LENGTH_LONG).show();
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(PackagesListActivity.this, "Something went wong. Please try again.", Toast.LENGTH_SHORT).show();
}
});
}