2012-04-21 63 views
0

我已經創建了一個Spinner,併爲其填充了適用於我的應用程序的值,從而可以計算飲料中的酒精單位。Android Spinner Array

微調舉行不同類型的飲料品脫,半品脫,瓶和罐的措施。

酒精單位由當用戶選擇一些講這是在微調倍的飲料倍量的酒精比例超過1000

我希望發生的是持有的飲料的量計算出的價值形成微調,如品脫它將添加一個品脫體積的方程。

這是我對微調

int pint,half,bottle,can; 
Spinner beerspinner; 
Spinner spinner = (Spinner) findViewById(R.id.beerspinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.drinks_array, android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 

我想從微調框中的值以某種方式匹配爲整數,所以我可以進行公式的代碼。

pint = 568; 
half = 284; 
bottle = 275; 
can = 440; 

我還沒有真正地解釋它,這裏是我的完整代碼,所以你可以更好地瞭解我想做什麼。

public class AppTestActivity extends Activity { 
int pint,half,bottle,can; 
Spinner beerspinner; 
Button submit, reset; 
EditText ABV,quantity; 
TextView units, error; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

ABV = (EditText) findViewById(R.id.ABV); 
submit = (Button) findViewById(R.id.submit); 
reset = (Button) findViewById(R.id.reset); 
units = (TextView) findViewById(R.id.units); 
error = (TextView) findViewById(R.id.error); 
quantity= (EditText) findViewById(R.id.quantity); 

Spinner spinner = (Spinner) findViewById(R.id.beerspinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.drinks_array, android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 

submit.setOnClickListener(new clicker()); 
} 
class clicker implements Button.OnClickListener{ 

public void onClick(View v){ 

pint = 568; 
half = 284; 
bottle = 275; 
can = 440; 

String number,percentage; 
Float calc; 

percentage = ABV.getText().toString(); 
number = quantity.getText().toString(); 
calc = Float.parseFloat(number)*Float.parseFloat(percentage)/1000; 
units.setText(calc.toString()); 
} 

目前該代碼利用的飲料時候,它由酒精百分比數,然後由1000分,我需要它從微調公式添加飲料類型。

回答

3

在您的活動中創建一個int。

int drinkType; 

使用setOnItemSelected偵聽微調:

spinner.setOnItemSelectedListener(new OnItemSelectedListener() 
{ 
     public void on ItemSlected(...) 
      int selectedIndex=spinner.getSelectedItenPosition(); 

      if(selectedIndex==0) //pint for example 
       drinkType = 568; 
      //do this for other drink types 
} 

而在你上面的代碼,你可以做

calc = Float.parseFloat(number)*Float.parseFloat(percentage)/1000+ drinkType;