close

res/layou/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.lai.class_bmi.MainActivity">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_margin="10dp"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:textSize="20sp"
            android:text="@string/height"
            />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:textSize="20sp"
            android:id="@+id/editText" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_margin="10dp"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="@string/weight"
            android:layout_margin="10dp"
             />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:textSize="20sp"
            android:id="@+id/editText2" />
    </LinearLayout>
    <!--android:onClick="onCaculate"是第五種方法-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/submit"
        android:layout_gravity="center"
        android:onClick="onCaculate"
        android:id="@+id/button" />
</LinearLayout>

res/layou/activity_bmi.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_margin="10dp"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="@string/height"
            android:textSize="20sp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text=" "
            android:textSize="20sp"
            android:id="@+id/textView4" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_margin="10dp"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="@string/weight"
            android:textSize="20sp"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:textSize="20sp"
            android:text=" "
            android:id="@+id/textView6" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_margin="10dp"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="@string/BMI"
            android:textSize="20sp"
             />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text=" "
            android:textSize="20sp"
            android:id="@+id/textView8" />
    </LinearLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:onClick="onBack"
        android:text="回上一頁"
        android:id="@+id/button2" />
</LinearLayout>

java/MainActivity

package com.lai.class_bmi;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
    /* 先做第一個畫面的元件宣告 */
    EditText etHeight,etWeight;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /* 載入畫面 */
        setContentView(R.layout.activity_main);

        findviews();
    }

    void findviews(){
        /* 第一個畫面 */
        etHeight=(EditText)findViewById(R.id.editText);
        etWeight=(EditText)findViewById(R.id.editText2);

    }
//    View.OnClickListener btnclick=new View.OnClickListener() {
//        @Override
//        public void onClick(View v) {
//
//
//        }
//    };

                /*View一定要放 */
    public void onCaculate(View v){
        Intent intent=new Intent();
        /* 轉換畫面 intent.setClass(現在的畫面,要切換的畫面);  */
        intent.setClass(MainActivity.this,BmiActivity.class);
        /* 帶資料  */
        Bundle b=new Bundle();
        /* b.putString(名稱 , 要帶的值) */
        b.putString("h",etHeight.getText().toString());
        b.putString("w",etWeight.getText().toString());
        /* 將要帶的資料 b 用putExtras帶過去 */
        intent.putExtras(b);
        /* 啟用畫面 */
        startActivity(intent);



    }

    /* 隱含的方法  */
    void implicitActivity(){
//        Intent intent=new Intent();
//        intent.setAction("com.lai.bmi");
//        startActivity(intent);
    }
}

java/BmiActivity

package com.lai.class_bmi;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

import java.text.NumberFormat;

/**
 * Created by mingyilai on 2016/8/12.
 */

            /* 要先extends畫面 */
public class BmiActivity extends AppCompatActivity {
    Bundle b;//要帶的資料
    TextView tvHeight,tvWeight,tvBmi;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /* 載入BMI的畫面 */
        setContentView(R.layout.activity_bmi);

        /* 建立接收元件intent */
        Intent intent=getIntent();
        if(intent == null){
            return;
        }

        /* 接收資料 */
        b=intent.getExtras();
        /* 接收值 */
        b.getString("h","w");

        findviews();
        setdata(); //設定值
    }

    void findviews(){
        tvHeight = (TextView)findViewById(R.id.textView4);
        tvWeight = (TextView)findViewById(R.id.textView6);
        tvBmi = (TextView)findViewById(R.id.textView8);
    }

    void setdata(){
        tvHeight.setText(b.getString("h"));
        tvWeight.setText(b.getString("w"));
        //將接收的值轉換成數字
        double h=Double.parseDouble(b.getString("h"))/100;
        double w=Double.parseDouble(b.getString("w"));
        double bmi=w/(h*h);
        //先叫出NumberFormat的功能
        NumberFormat nf=NumberFormat.getInstance();
        //只取小數點後面2位
        nf.setMaximumFractionDigits(2);

        /* textview用 append串接字串 */
        tvBmi.setText(String.valueOf(nf.format(bmi)) + "\n");
        if(bmi >= 35) {
            tvBmi.append("重度肥胖");
        }else if(bmi < 35 && bmi >= 30){
            tvBmi.append("中度肥胖");
        }else if(bmi < 30 && bmi >= 27){
            tvBmi.append("輕度肥胖");
        }else if(bmi < 27 && bmi >= 24){
            tvBmi.append("過重");
        }else if(bmi < 24 && bmi >= 18.5){
            tvBmi.append("正常範圍");
        }else{
            tvBmi.append("體重過輕");
        }
    }



    public void onBack(View v){
//        /* Back stack */
//        Intent back=new Intent(BmiActivity.this,MainActivity.class);
//        /* 開新畫面 */
//        startActivity(back);

        /* 沒有Back stack */
        BmiActivity.this.finish();
    }
}

 

 

arrow
arrow
    文章標籤
    Android
    全站熱搜
    創作者介紹
    創作者 mingyilai 的頭像
    mingyilai

    mingyilai的部落格

    mingyilai 發表在 痞客邦 留言(0) 人氣()