多Activity 需要建立多個java的class及相對應的xml
建立完成之後必須在manifest中註冊
<activity
android:name=".activity2"
android:label="@string/MSSSS" >
</activity>
普通String的傳入:
主調程式中:
(將名為將"Seed"以名為Name的String丟給被調用程式)
Button1.setOnClickListener(new View.OnClickListener(){
public void onClick(View V){
Intent intent = new Intent(MainActivity.this, activity2.class);
String name = "Seed";
intent.putExtra("Name", name);
satrtActivity(intent);
}
});
被調程式:
(擷取名為Name的String)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
Intent intent = this.getIntent();
String message = intent.getStringExtra("Name");
}
傳遞物件類型
Activity回傳資料
1:把名為Name的String丟給被掉程式(用startActivityForResult)
Button1.setOnClickListener(new View.OnClickListener(){
public void onClick(View V){
Intent intent = new Intent(MainActivity.this, activity2.class);
String name = "Seed";
intent.putExtra("Name", name);
startActivityForResult(intent, 1);
}
});
2:在被調Activity中重寫finish來設定返回資訊
(把名為rtString的String附帶在返回intent中,並且回傳標記為activity2Return)(用bundle攜帶)
@Override
public void finish(){
Intent intent = new Intent();
Bundle b = new Bundle();
b.putString("rtString","~~~~");
intent.putExtras(b);
setResult(activity2Return, intent);
super.finish(); www.2cto.com
}
3:在主調程式中重載onActivityResult,獲得回傳的message
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(resultCode){
case activity2Return:
Bundle b = data.getExtras();
String returnMessage = b.getString("ac2");
}
}