[Android] 使用Intent 在不同的Activity傳遞資料

要將在Activity A輸入的資料送到Activity B進行運算,我們可以透過Intent來實現。
資料的傳送分為傳送端與接收端

傳送端程式碼
說明: new一個intent實體,setClass(A,B)由A傳到B,new一個Bundle把要傳的資料透過putString存放在KEY中,intent.putExtras(bundle)把bundle放在intent準備一起傳送,startActivity傳送。

     public void onClick(View v){

     Intent intent = new Intent();
intent.setClass(MainActivity.this, Report.class);
Bundle bundle = new Bundle();
bundle.putString("KEY_HEIGHT", edit_text_height.getText().toString());
bundle.putString("KEY_WEIGHT", edit_text_weight.getText().toString());
intent.putExtras(bundle);
startActivity(intent);
     }

接收端程式碼
說明:getIntent().getExtras()取得bundle內容,budle.getString(KEY)取得KEY存放的內容。

Bundle bundle = this.getIntent().getExtras();
double height = Double.parseDouble(bundle.getString("KEY_HEIGHT"))/100;


double weight = Double.parseDouble(bundle.getString("KEY_WEIGHT"));

沒有留言:

張貼留言