從0系統學Android-2.6Activity間數據傳遞

本系列文章,參考《第一行代碼》,做爲我的筆記java

更多內容:更多精品文章分類ide

聲明

2.3.4 向下一個 Activity 傳遞數據

前面學習了使用 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");

複製代碼

2.3.5 返回數據給上一個 Activity

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){
  
}
複製代碼

相關文章
相關標籤/搜索