安卓(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");

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容