2011-07-24 39 views
0

這個問題的措辭不夠好,無法獲得我想要的答案,所以我發佈了一個新的,幾乎完全不同的問題。我應該如何動態更改微調器的條目?

+0

爲每個微調器分開適配器並相應地工作.... –

+0

@suri我對每個微調控制器都有單獨的適配器,但是我需要幫助的基本上是在另一個微調器的選擇發生更改時編輯這些適配器。 – MarioAran

+0

所以,你需要做spinner.clear()然後添加新的數據到微調,並設置notifyDatasetchanged()這就是它。 –

回答

0

我終於有了答案。在另一個微調器的onSelectedItemChanged中訪問微調器和適配器的唯一方法是使它們最終。所以我必須製作20個「final」適配器和用例來設置每個適配器。

+0

我會接受此答案,以便儘快關閉它... – MarioAran

0

您在UI中看到的不是對象本身,您可以創建一個新實例,填充它並將其鏈接到視圖。還要考慮爲您的應用程序使用連續的列表視圖,它更乾淨,更容易維護並且更加便於用戶使用。

+0

好的,你說什麼時候選擇一個項目,創建一個新的ArrayAdapter,然後設置下一個微調控制器的適配器?或者有些不同?我不知道該怎麼做,如果我試圖在spinner1的OnItemSelectedListener中說出有關spinner2的任何信息,它會說這是一個錯誤的構造。至於使用列表視圖,它有點太擁擠。該程序最初是爲Windows Forms編寫的,並將其應用於應用程序非常繁瑣。 – MarioAran

+0

順便說一下,我對android很新。或者對於這個問題一般的java。大多用於Visual Basic,並且沒有正式的培訓。 – MarioAran

0

你必須做的是,第二和第三個微調控制器啓用狀態爲false,因爲它們的值尚未知,當爲啓用的第一個微調控制器啓動ItemSelected時,根據第二個微調器清除並創建一個新適配器當前的選擇並啓用第二個微調器)爲第三個微調器重複相同的步驟,在這裏你必須注意的是,如果在第一個微調器上選擇了新項目,那麼你必須禁用第三個微調器,因爲現在它的值又是未知。

+0

哇....我認爲我在Visual Basic中做到這一點的方式很複雜....我會給它一個鏡頭! – MarioAran

+0

這與你在Visual Basic中必須做的事情完全相同,但是使用其他名稱時,你只需使用監聽器來捕捉事件,並做好自己的工作。 –