Java 根据计算添加图像

Java 根据计算添加图像,java,android,Java,Android,我一整天都在试图解决这个问题,因为我想根据计算结果添加一个图像。我正在创建一个体重指数计算器。我在安卓工作室里工作得很好。只是想添加一个瘦的图像,如果结果是一个瘦的或胖的图像,如果它说超重。这是代码。多谢各位 package ie.wit.fitnessmadeeasy; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import andr

我一整天都在试图解决这个问题,因为我想根据计算结果添加一个图像。我正在创建一个体重指数计算器。我在安卓工作室里工作得很好。只是想添加一个瘦的图像,如果结果是一个瘦的或胖的图像,如果它说超重。这是代码。多谢各位

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);
            }


        }
    });


}
软件包ie.wit.fitnessmadeeasy;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.ImageView;
导入android.widget.TextView;
导入android.widget.Toast;
公共类活动扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bmi);
最终按钮计算=(按钮)findViewById(R.id.calc);
最终EditText权重=(EditText)findViewById(R.id.weight);
最终EditText高度=(EditText)findViewById(R.id.height);
最终TextView结果=(TextView)findViewById(R.id.result);
calc.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串heightStr=height.getText().toString();
字符串weightStr=weight.getText().toString();
如果(heightStr!=null&!“.equals(heightStr)
&&weightStr!=null&!“.equals(weightStr)){
float heightValue=float.parseFloat(heightStr)/100;
float-weightValue=float.parseFloat(weightStr);
浮动bmi=权重值/(高度值*高度值);
字符串bmilab=“”;

如果(bmi 15&&bmi 15&&bmi 18.5&&bmi 25&&bmi 30&&bmi 35&&bmi好吧,那只是好的Android手册中的一部分

您将需要:

  • 图像视图
  • 在您的drawable文件夹中有两个drawable,一个瘦,一个胖

    final ImageView imageViewBMI = (ImageView) findViewById(R.id.image_bmi);
    
然后在你的if/else中的某个地方

imageViewBMI.setImageResource(R.drawable.skinny);

解释你的问题,你试过什么,还有什么不起作用?非常感谢,我现在就试试