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