0

スピナーを作成し、飲み物のアルコール単位を計算するアプリの値を入力しました。

スピナーは、パイント、ハーフパイント、ボトル、缶のさまざまな種類の飲み物を保持します。

アルコール度数は、スピナー時間に保持されている飲み物の量を、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で割ったものであり、スピナーからの飲み物の種類を方程式に追加するために必要です。

4

1 に答える 1

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;
于 2012-04-21T19:51:40.790 に答える