本帖最後由 不知火羽 於 2012-9-30 10:30 編輯
你可以試試看用getSelectedItemPosition()來取的spinner的值
首先將spinner1和spinner2的內容做成陣列
比如說- private final Static String[] SPINNER_ARRAY1={"a","b","c"}
- private final Static String[] SPINNER_ARRAY2={"1","2","3"}
複製代碼 (以上程式碼是宣告在class裡面,如果是在方法內可以把private final Static去掉
pirivate 可依照個人需求改成public或protected)
然後將兩個陣列透過ArrayAdapter分別丟進兩個Spinner裡面
(這部分語法網路上可以查到)
再來是透過getSelectedItemPosition()來取的spinner的值做判斷- if ((spinner1.getSelectedItemPosition() == 0) && (spinner2.getSelectedItemPosition() == 1)){
- //選擇a和2的情況
- }else if((spinner1.getSelectedItemPosition() == 2) && (spinner2.getSelectedItemPosition() == 0)){
- //選擇b和1的情況}
複製代碼 註getSelectedItemPosition()是取得你陣列中的順序
個人是習慣用順序去做判斷 (舊版JAVA的switch...case...迴圈似乎只能用int去帶)
另一種做法則是- if (spinner1.getSelectedItemPosition() == 0){
- if (spinner2.getSelectedItemPosition() == 0){
- //a1
- }else if(spinner2.getSelectedItemPosition() == 1){
- //a2
- }else if(spinner2.getSelectedItemPosition() == 2){
- //a3
- }
- }else if(spinner1.getSelectedItemPosition() == 1){
- ...
- }else if(spinner1.getSelectedItemPosition() == 2){
- ...
- }
複製代碼 或是改用switch...case...也行
如果要取得值 可以搭配前面宣告的陣列取得 語法如下- SPINNER_ARRAY1[spinner1.getSelectedItemPosition()]
複製代碼 要做判斷式也是可以的 語法如下- SPINNER_ARRAY1[spinner1.getSelectedItemPosition()].equals("a");
複製代碼 或是用getSelectedItem()判斷也行
|