本系列文章,參考《第一行代碼》,做爲我的筆記java
更多內容:更多精品文章分類ide
前面學習了使用 Intent 來啓動一個 Activity ,其實 Intent 還能夠用來啓動 Activity 的時候傳遞數據。學習
Intent 中提供了許多的 putExtra()
方法。能夠將數據暫時存在 Intent 中,啓動了另外一個 Activity 後,只須要把數據從 Intent 中取出來就能夠了。this
代碼:spa
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExra("extra_data","data");
startActivity(intent);
複製代碼
而後咱們就能夠在 SeconActivity 中取傳遞過來的數據了3d
Intent intent = getIntent();
String data = intent.getStringExtra("extra_data");
複製代碼
Activity 中還有一個方法 startActivityForResult()
和這個方法也是用來啓動 Activity 的。可是這個方法指望在 Activity 銷燬的時候可以返回一個結果給上一個 Activitycode
代碼:cdn
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
// 第一個參數就是 Intent ,第二個參數是請求碼,請求碼本身定義個數字就能夠了
startActivity(intent,1);
複製代碼
在 SecondActivity 中代碼:blog
Intent intent = new Intent();
intent.putExra("data","Hello");
setResult(RESULT_OK,intent);
finish();
複製代碼
首先構建一個 Intent 用於向上一個頁面傳遞數據。setResult()
方法是專門用於向上個頁面傳遞數據的。有兩個參數,第一個是 返回碼(通常用 RESULT_OK 或者 RESULT_CANCELED 就能夠了,也能夠本身定義),第二個參數就是帶有數據的 Intent。get
而後在返回的 Activity 中重寫下面的方法
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
}
複製代碼