我在部门和课程中使用了两个微调器,在其中设置各个部门的课程。 当我再次尝试选择部门时,它会在第二个微调器中显示相应的课程,但不会更改第二个微调器的显示值。
我尝试清除字符串数组作为第二个选项,但仍然无法正常工作。
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, depts);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
DeptSpin.setAdapter(adapter);
DeptSpin.setOnItemSelectedListener(this);
ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, courses);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
courseSpin.setAdapter(adapter1);
courseSpin.setOnItemSelectedListener(this);
。
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
courses.clear();
courses.add("Select Course");
Cursor cursor = HostelDB.getCourse(position - 1);
if (cursor.getCount() == 0) {
Toast.makeText(this, "Data not found", Toast.LENGTH_SHORT).show();
} else {
cursor.moveToFirst();
do {
courses.add(cursor.getString(cursor.getColumnIndex("Name")));
} while (cursor.moveToNext());
}
cursor.close();
}
答案 0 :(得分:0)
添加所有项目后,您需要致电notifyDataSetChanged():
courses.clear();
courses.add("Select Course");
...
// refresh the adapter
adapter1.notifyDataSetChanged();