-
基本類型參數(shù)傳遞
Activity間傳遞一些基本類型的數(shù)據(jù)可以直接進(jìn)行傳遞,比如- 直接通過(guò)intent傳遞
//發(fā)送數(shù)據(jù)方
Intent intent = new Intent();
intent.putExtra("username",username);
intent.putExtra("userpass",userpass);
intent.setClass(ThisActivity.this,TargetActivity.class);
startActivity(intent);
//接受數(shù)據(jù)方
Intent intent = getIntent();
String name = intent.getStringExtra("username");
String pass = intent.getStringExtra("userpass);
* 通過(guò)Bundle傳遞
//傳入
Intent it = new Intent(this,typeof(OtherActivity));
Bundle bd = new Bundle();
bd.PutBoolean("isNiubi",true);
bd.PutInt("Id",123456);
bd.PutString("name","詹姆斯");
it.PutExtras(bd);
StartActivity(it);
//接收
Bundle bd = Intent.Extras;
int Id = bd.GetInt("Id");
string Name = bd.GetString("name");
bool niubi = bd.GetBoolean("niubi");
- List對(duì)象傳遞
//傳送
private List<String> myList;
Intent intent = new Intent();
intent.putExtra("myList", (Serializable) myList);
intent.setClass(A.this, B.class);
startActivity(intent); //開(kāi)始跳轉(zhuǎn)
// 接受
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras(); //獲得全部數(shù)據(jù)
myList= (List<String>) bundle.getSerializable("myList");
- 一般對(duì)象傳遞
-
要傳遞的對(duì)象,實(shí)現(xiàn)Parcelable接口,Parcelable實(shí)現(xiàn)可以直接通過(guò)
Parcelable插件實(shí)現(xiàn)。這樣不用寫(xiě)代碼
具體傳遞過(guò)程
-
//傳送
Intent intent = new Intent();
intent.putExtra("myObj", myObj); //放入對(duì)象數(shù)據(jù)
intent.setClass(A.this, B.class);
startActivity(intent); //開(kāi)始跳轉(zhuǎn)
//接受
Intent intent = this.getIntent(); //獲得當(dāng)前的Intent
Bundle bundle = intent.getExtras(); //獲得全部數(shù)據(jù)
myObj = bundle.getParcelable("myObj");
