0

私は現在、人 (男性/女性) が必要とする BMI とカロリーを計算するアプリを作成しようとしています。私のアプリには 2 つの部分があります: 1. BMI の計算 2. 必要なカロリー

最初の部分はうまく機能します (そのため、この部分のコードを除外しました) が、2 番目の部分である必要カロリーの計算では、期待どおりに結果を表示できません (「必要カロリー」ボタンをクリックした後)。おそらくまだ何かが欠けているのでしょうが、今のところ見つけられません。

コードはすべて正常に見え、エラーはありません。誰でもそれを見るのを助けることができますか?:) 前もって感謝します。

以下のようにコードします。

package com.example.caloriescalculator;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.RadioButton;

public class BMIcalculation extends Activity
{
EditText weightE;
EditText heightE ;
EditText ageE ;
TextView caloriesresult ;
RadioButton male; 
RadioButton female;

Button calories;

EditText weightText ;
EditText heightText ;
EditText ageText;
TextView resultText;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.bmilayout_main);     

    weightE = (EditText)findViewById(R.id.weightText);
    heightE = (EditText)findViewById(R.id.heightText);
    ageE = (EditText)findViewById(R.id.ageText);
    caloriesresult = (TextView)findViewById(R.id.caloriesText);
    male = (RadioButton) findViewById(R.id.maleradio); 
    female = (RadioButton) findViewById(R.id.femaleradio);

    Button calories = (Button) findViewById(R.id.caloriesButton); 
    calories.setOnClickListener(new OnClickListener() 
       {
         @Override
                public void onClick(View arg0) 
                {    
                    int caloriesneed = 0, weight = 0, height = 0, age = 0;

                    try {
                            if ((!weightE.equals("")) && (!heightE.equals("")) && (!ageE.equals(""))) 
                                {
                                weightE = (EditText) findViewById(R.id.weightText);  
                                weight = Integer.parseInt(weightE.getText().toString().trim());     
                                heightE = (EditText) findViewById(R.id.heightText);  
                                height = Integer.parseInt(heightE.getText().toString().trim());
                                ageE = (EditText) findViewById(R.id.ageText);  
                                age = Integer.parseInt(ageE.getText().toString().trim());

                                    if (male.isSelected()) 
                                        {
                                            caloriesneed = (int) Math.round (655 + 9.6*weight + 1.8*height - 4.7*age);                                       
                                            caloriesresult.setText(caloriesneed);
                                        }

                                    else if (female.isSelected())
                                        {
                                            caloriesneed = (int) Math.round (66 + 13.7*weight + 5*height - 6.8*age);
                                            caloriesresult.setText(caloriesneed);
                                        }
                                }
                         } 
                     catch (Exception k)
                     { System.out.println(k);

                     }

                }
       });
}
4

2 に答える 2

0

for 入力パラメーターsettext()が必要な整数を入力しようとしたためだと思いますので、次のことを試してみてください。string

caloriesresult.setText("" + caloriesneed);

また

caloriesresult.setText(Integer.toString(caloriesneed));

また

caloriesresult.setText(String.valueOf(caloriesneed));
于 2013-11-01T09:22:22.183 に答える