Я пытаюсь разобраться с задачами в моем приложении на основе его статуса. Статус может быть в состоянии ожидания или завершен. Эти опции присутствуют в Spinner. Статус задачи проверяется в БД Firestore и в зависимости от выбранной опции задачи отображаются. Тем не менее, я выбрал вариант, он не показывает никаких задач. Вот сегмент кода:
ArrayAdapter<String> myAdapt1 = new ArrayAdapter<String>(Tasks.this,
android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.status));
myAdapt.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
filter.setAdapter(myAdapt1);
filter.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (parent.getItemAtPosition(position).equals(" ")) {
//do nothing;
} else {
String item = parent.getItemAtPosition(position).toString();
if (parent.getItemAtPosition(position).equals("Pending")) {
sortPending();
}
if (parent.getItemAtPosition(position).equals("Complete")) {
sortComplete();
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
public void sortPending(){
Query query = taskRef.whereEqualTo("status", "Pending");
FirestoreRecyclerOptions<TaskList> options = new FirestoreRecyclerOptions.Builder<TaskList>()
.setQuery(query, TaskList.class)
.build();
adapter = new TaskAdapter(options);
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
}
public void sortComplete(){
Query query1 = taskRef.whereEqualTo("status", "Complete");
FirestoreRecyclerOptions<TaskList> options1 = new FirestoreRecyclerOptions.Builder<TaskList>()
.setQuery(query1, TaskList.class)
.build();
adapter = new TaskAdapter(options1);
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(adapter);
}