Я выполняю фильтрацию для фильтрации списка студентов.Есть два блесны для фильтра - отдел и класс.Когда активность открыта, она загрузит все имя отдела и класса с сервера.до сих пор все отлично работаетТеперь я хочу, если пользователь выберет любой отдел, он будет фильтровать элементы класса Spinner.У меня есть отдельный модельный класс и массив для обоих спиннеров.В модели классов у меня есть название отдела, поэтому, используя его, я хочу показать только те классы, которые связаны с выбранным отделом.
ArrayList<ClassModel> listClass = new ArrayList<>();
ArrayList<DepartmentModel> listDepartment = new ArrayList<>();
ArrayAdapter<ClassModel> adapterClass;
ArrayAdapter<DepartmentModel> adapterDepartment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_student_filter);
adapterClass = new ArrayAdapter<ClassModel>(this,android.R.layout.simple_spinner_item,listClass);
adapterDepartment = new ArrayAdapter<DepartmentModel>(this,android.R.layout.simple_spinner_item,listDepartment);
adapterClass.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapterDepartment.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnClass.setAdapter(adapterClass);
spnDepartment.setAdapter(adapterDepartment);
listDepartment.add(new DepartmentModel("NA","View All"));
listClass.add(new ClassModel("NA","View All","View All"));
GetDepartment();
GetClass();
spnDepartment.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String dept_name = listDepartment.get(position).getDept();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private class ClassModel{
String id;
String std;
String dept;
public ClassModel(String id, String std,String dept) {
this.id = id;
this.std = std;
this.dept = dept;
}
public String getId() {
return id;
}
public String getStd() {
return std;
}
public String getDept() {
return dept;
}
@NonNull
@Override
public String toString() {
return this.std;
}
}
private class DepartmentModel{
String id;
String dept;
public DepartmentModel(String id, String dept) {
this.id = id;
this.dept = dept;
}
public String getId() {
return id;
}
public String getDept() {
return dept;
}
@NonNull
@Override
public String toString() {
return this.dept;
}
}