3 回答

TA貢獻1772條經驗 獲得超6個贊
您的代碼中有兩個錯誤。
對于您的案例,CountrySpinnerPosition 將是 0 和 1,因此案例應該是“案例 0”和“案例 1”。
在fillDiplomaDivision 方法中,您必須先清除列表,然后在添加到列表后調用notifyDataSetChanged()。

TA貢獻1865條經驗 獲得超7個贊
嘗試在第二種方法中清除 arraylist 和 notifydatasetchanged
private void fillDiplomaDivision() {
divisionArray.clear();
divisionArray.add("Select Subject:-");
divisionArray.add("Science");
divisionArray.add("CTEVT");
divisionArray.notifyDataSetChanged();
}

TA貢獻1765條經驗 獲得超5個贊
首先,您onItemSelected對兩個微調器使用相同的方法。所以刪除spinnerCountry.setOnItemSelectedListener(this);和 spinnerDivision.setOnItemSelectedListener(this);
將數據設置為 spinnerCountry 后,請使用 this 。
spinnerCountry.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
if(i == 0){
fillMasterDivision();
}else{
fillBachelorDivision();
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
并清除您的 Division 數組 fillBachelorDivision()
添加回答
舉報