2013-05-06 35 views
0

好吧,我有一個填充字符串的微調,我怎樣才能使用數組分配一個值爲一個整數?Android如何分配一個整數值微調位置

例如旋塗器具有

  1. 「一些值
  2. ‘另一值’等

當1被選擇我怎樣才能然後初始化基於選擇一個變量,如果使用語句或開關/ case?

我已經包括了一些註釋的代碼來說明我想要得到的,在這個例子中我有一個名爲'actLevel'的int來填充。

public class spinActMultFunction implements OnItemSelectedListener { 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View arg1, int pos, long id) { 
     String str=parent.getItemAtPosition(pos).toString(); 
     activityMultiplier.setText(str); 

     /* 
     If (pos) = 1 
      then actLevel = 1.2 
     else if (pos) = 2 
      then actLevel = 1.6 

     etc.. 
     */ 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 
    } 
} 
+0

要麼會工作,但我會用'之開關。但是,你有什麼問題?另外,'position'從0開始,所以'position 1'實際上就是你的第二項 – codeMagic 2013-05-06 14:54:29

+0

,看起來像'switch(pos)'可以解決你的問題。 – Wamasa 2013-05-06 14:57:41

+0

很高興看到我在正確的軌道上,我已經閱讀了很多獲得陣列位置的令人信服的方法。無論如何,交換機如何在這裏工作?就像我在作爲一個案件通過什麼? – dyatesupnorth 2013-05-06 15:39:03

回答

0

這個工作到底:

public void onItemSelected(AdapterView<?> parent, View arg1, int pos, 
       long id) { 
      String str = parent.getItemAtPosition(pos).toString(); 
      activityMultiplier.setText(str); 

      switch(pos){ 

      case 0: 
       actLevel = 1.2; 
       break; 

      case 1: 
       actLevel = 1.3; 
       break; 

      case 2: 
       actLevel = 1.5; 
       break; 

      case 3: 
       actLevel = 1.7; 
       break; 
      case 4: 
       actLevel = 1.9; 
       break; 

      } 

     }