При втором подходе значение второго счетчика не меняется - PullRequest
0 голосов
/ 11 апреля 2019

Я использовал два блесны для кафедры и курса, в котором я устанавливаю курсы соответствующих курсов.Когда я пытаюсь выбрать отдел снова, он показывает соответствующие курсы во втором счетчике, но не изменяет отображаемое значение второго счетчика.

Я попытался очистить массив строк как второй вариант, но он все еще не работает.

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();
}

1 Ответ

0 голосов
/ 11 апреля 2019

Вам необходимо вызвать notifyDataSetChanged () после добавления всех элементов:

courses.clear();
courses.add("Select Course");

...
// refresh the adapter
adapter1.notifyDataSetChanged();
...