0

String.xml

  <string-array name="fruits">
       <item>Apple</item>
       <item>Banana</item>
       <item>Orange</item>
       <item>Pear</item>
       <item>Watermelon</item>
       <item>Mango</item>
       <item>Pineapple</item>
       <item>Strawberry</item>
</string-array>

<string-array name="total">
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
    <item>5</item>
    <item>6</item>
    <item>7</item>
    <item>8</item>
</string-array>

<string-array name="calorie">
    <item>80</item>
    <item>101</item>
    <item>71</item>
    <item>100</item>
    <item>45</item>
    <item>135</item>
    <item>80</item>
    <item>53</item>
</string-array>    

Javaファイル:

    public class Fruit extends Activity implements OnClickListener, OnItemSelectedListener {
private TextView tvFruit, tvNo;
Context context=this;   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fruit);

    tvFruit = (TextView) findViewById(R.id.tvfruit);
    tvNo = (TextView) findViewById(R.id.tvno);


    final Spinner fruits = (Spinner)findViewById(R.id.spin_fruit);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this,R.array.fruits,android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    fruits.setAdapter(adapter);
    fruits.setOnItemSelectedListener(this);

    fruits.setOnItemSelectedListener(new OnItemSelectedListener(){
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    long arg3) {
            // TODO Auto-generated method stub
            String selectedItem = fruits.getSelectedItem().toString();
            tvFruit.setText(selectedItem);
        }

    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub

    }

    });

    final Spinner num = (Spinner)findViewById(R.id.spin_no);
    ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(
            this,R.array.total,android.R.layout.simple_spinner_item);
    adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    num.setAdapter(adapter1);
    num.setOnItemSelectedListener(this);

    num.setOnItemSelectedListener(new OnItemSelectedListener(){
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
                // TODO Auto-generated method stub
                String selectedItem = num.getSelectedItem().toString();
                tvNo.setText(selectedItem);
            }

        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }

        });

    Button save = (Button) findViewById(R.id.bsave);
    save.setTextColor(Color.BLUE);
    save.setOnClickListener(new View.OnClickListener() {


            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                // Get the subject details and show it in an alertdialog
                AlertDialog.Builder builder = new AlertDialog.Builder(context);
                builder.setMessage("Success");
                builder.setPositiveButton("OK", null);
                builder.setNegativeButton("View Log", new DialogInterface.OnClickListener(){

                    public void onClick(DialogInterface dialog, int which) { // this part is done for the negative button 
                                                                             // if we want it to link to new intent
                        launchIntent();
                    }

                });
                builder.create().show();
            }

            //making the "View Log" button in dialog box to go to new intent FruitLog.class
            private void launchIntent(){
                Intent i = new Intent(Fruit.this, FruitLog.class);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(i);
            }


        });

    }

そのため、ユーザーがスピナーで3本のバナナをクリックしたときに、カロリーを乗算するためのコードを実行する方法を知りたいと思います。 計算が完了すると、303カロリーが表示されます。

そのため、ユーザーがスピナーで3本のバナナをクリックしたときに、カロリーを乗算するためのコードを実行する方法を知りたいと思います。計算が完了すると、「総カロリー」テキストビューに303カロリーが表示されます。

誰かが計算のコーディングを行う方法を教えてもらえますか?たとえば、2つのリンゴのカロリーを手伝ってください。残りは私が理解しようとします。どうもありがとうございました。このコミュニティは非常に役に立ちました。

4

1 に答える 1

1

あなたの既存のコードを使用して、私はこれに沿って何かを試みます:

まず、calorie配列をに変更しますinteger-array。次に、以下を追加します。

public int calculateCalories() {
    int[] calorie = getResources().getIntArray(R.array.calorie);
    return Integer.parseInt((String) num.getSelectedItem()) * calorie[fruits.getSelectedItemPosition()];
}

この関数は、選択した果物の数にカロリー値を掛けたものを返す必要があります。明示的にするには、次のようにこれを直接TextViewに設定します。

totalTextView.setText(String.valueOf(calculateCalories()));

宣言されているのと同じ方法で宣言することにより、クラス全体に表示して表示する必要がnumあります。fruitstvFruit

于 2012-06-05T03:31:00.323 に答える