安卓(android)之間的傳值

情況1:顯示啓動

Intent i = newIntent();

i.setClass(this,Second.class);

//Intent i = newIntent(this,Second.class);

startActivity(i);

情況2:隱式啓動

Intent i = new Intent();

i.setAction(“Ra”);

startActivity(i);

二.啓動Activity,需要第二個Activity返回值

第一個Activity中代碼
Intent i = new Intent(this,Second.class);
startActivityForResult(requestCode,i);

onActivityResult(requestCode,resultCode,intent){
    //requestCode標誌是哪一個Activity返回來的結果
    //resultCode,標誌第二個Activity操作是否成功
    //intent,攜帶第二個Activity返回值
}
  第二個Activity中代碼
Intent i = new Intent();
setResult(resultCode,i);
finish();

三、兩個Activity傳值

第一個activity代碼
傳值方式一
i.putExtra("key1",value1);
方式二
Bundle b = new Bundle();
b.putString("key2",value2);
i.putExtra("bunclekey",b);
方式三
i,putExtra("key",Parcelable(serilizable)子類對象);


在第二個Activity中獲取第一個Activity中傳過來的值

Intent i = getIntent();
方式一取值
String value1 = i.getStringExtra("key1");
方式二取值
Bundle b = i.getBundleExtra("bunclekey");
String value2 = b.getStringExtra("key2");

方式三取值:
Parcelable子類 對象 = i.getPacelableExtra("key");
Serilizable子類 對象 =  i.getSerilizableExtra("key");
發佈了30 篇原創文章 · 獲贊 37 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章