2017-02-09 6 views
0

計算の結果に応じてイメージを追加したいので、これを一日中考えようとしています。私はBMI計算機を作成しています。私はAndroidスタジオで完璧に動作しています。過体重と言えば結果がスキニーまたは太っている画像の場合、ちょうど痩せた画像を追加したいと思います。ここにコードがあります。ありがとうございました。計算に応じてイメージを追加する

package ie.wit.fitnessmadeeasy; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.widget.Toast; 

public class BmiActivity extends AppCompatActivity { 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_bmi); 

    final Button calc = (Button) findViewById(R.id.calc); 
    final EditText weight = (EditText) findViewById(R.id.weight); 
    final EditText height = (EditText) findViewById(R.id.height); 
    final TextView result = (TextView) findViewById(R.id.result); 





    calc.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 



      String heightStr = height.getText().toString(); 
      String weightStr = weight.getText().toString(); 

      if (heightStr != null && !"".equals(heightStr) 
       && weightStr != null && !"".equals(weightStr)) { 
       float heightValue = Float.parseFloat(heightStr)/100; 
       float weightValue = Float.parseFloat(weightStr); 

       float bmi = weightValue/(heightValue * heightValue); 



       String bmiLabel = ""; 

       if (bmi <= 15) { 
        bmiLabel = getString(R.string.very_very_skinny); 
       } else if (bmi > 15 && bmi <= 16) { 
        bmiLabel = getString(R.string.very_skinny); 
       } else if (bmi > 15 && bmi <= 18.5) { 
        bmiLabel = getString(R.string.skinny); 
       } else if (bmi > 18.5 && bmi <= 25) { 
        bmiLabel = getString(R.string.normal); 
       } else if (bmi > 25 && bmi <= 30) { 
        bmiLabel = getString(R.string.overweight); 
       } else if (bmi > 30 && bmi <= 35) { 
        bmiLabel = getString(R.string.obese_series_i); 
       } else if (bmi > 35 && bmi <= 40) { 
        bmiLabel = getString(R.string.obese_series_ii); 
       } else { 
        bmiLabel = getString(R.string.obese_series_iii); 
       } 

       bmiLabel = bmi + "\n\n" + bmiLabel; 
       result.setText(bmiLabel); 
      } 


     } 
    }); 


} 

}

+0

問題を説明してください、あなたは何を試しましたか、そして何がうまくいかなかったのですか? –

答えて

0

まあ、それはちょうど良い老いのAndroidハンドブックの出です。

あなたが必要になります。

  • ImageViewの
  • どこかのif /他

    内部
  • 2あなたの描画可能なフォルダ内のドローアブル、スキニー1、1脂肪

    final ImageView imageViewBMI = (ImageView) findViewById(R.id.image_bmi); 
    

その後

imageViewBMI.setImageResource(R.drawable.skinny); 
+0

ありがとうございました –

関連する問題