亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法根據第一個微調器值獲得第二個微調器值

無法根據第一個微調器值獲得第二個微調器值

喵喵時光機 2021-09-15 17:27:17
我正在使用兩個微調器,其中第二個微調器值基于第一個微調器值。例如,如果用戶在 First Spinner Then Second Spinner 下拉列表中選擇選項 A 必須包含值( ox, cow, goat ),如果用戶選擇選項 B,則第二個 Spinner 值必須包含( Lion, Tiger 和 Cheetha )。但我無能為力。在第一個微調器值中選擇任何值時,第二個微調器總是加載相同的值。下面是截圖如您所見,在選擇第一個微調大師或文憑中的任何選項時...在第二個微調器中的值是相同的。它不會改變。
查看完整描述

3 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

您的代碼中有兩個錯誤。

  1. 對于您的案例,CountrySpinnerPosition 將是 0 和 1,因此案例應該是“案例 0”和“案例 1”。

  2. 在fillDiplomaDivision 方法中,您必須先清除列表,然后在添加到列表后調用notifyDataSetChanged()。


查看完整回答
反對 回復 2021-09-15
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

嘗試在第二種方法中清除 arraylist 和 notifydatasetchanged


    private void fillDiplomaDivision() {

    divisionArray.clear();

    divisionArray.add("Select Subject:-");

    divisionArray.add("Science");

    divisionArray.add("CTEVT");


    divisionArray.notifyDataSetChanged();

}


查看完整回答
反對 回復 2021-09-15
?
POPMUISE

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


查看完整回答
反對 回復 2021-09-15
  • 3 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號