[英]Data return from Multiple Activities to Main Activity
每個人。 我已經開始編寫(1 個月大)Android 應用程序,我對這些東西很陌生。
我有一個活動 X。在那個活動 X 上,我有四個不同的按鈕調用四個不同的活動。 在這三個活動中,我有按鈕,並且在按下按鈕后將數據返回到活動 X。 此外,在活動 X 上,我可能不會調用所有三個活動。 我可能只打電話給 1,3 或只打電話給 2,3。 我看了很多,但我找不到我要找的東西。
編輯:當我把finish();
對於活動 1、2、3,我可以調用其中一個活動(假設活動一被調用)並能夠獲取數據,並返回活動 X,但是當我開始調用另一個活動(假設活動 2 被調用)時,我可以go 參加此活動,但我無法從中返回,因為它確實知道返回的位置。
這就是我所尋求的:
活動X->第一個活動->將data1返回給X
活動X->第二個活動->將data2返回給X
活動 X-> 第三個活動-> 將 data3 返回到 X
活動 X-> 將 data1 + data2 +data3 發送到第 4 個活動
我在onClick
方法下像這樣在Activity X
上開始了我的三個活動( data_global
在 Activity X 類上是全局的)
case R.id.btn1:
Intent i = new Intent(this, Activity1.class);
startActivityForResult(i, 200);
break;
case R.id.btn2:
i = new Intent(this, Activity2.class);
startActivityForResult(i, 201);
break;
case R.id.btn3:
i = new Intent(this, Activity3.class);
startActivityForResult(i, 202);
break;
case R.id.btn4:
i = new Intent(this, Activity4.class);
i.putExtra("Extra", data_global);
startActivity(i);
break;
我在onActivityResult
方法下的Activity X
上從這里獲取數據:
switch (requestCode) {
case (200): {
if (resultCode == Activity.RESULT_OK) {
if (data.getStringExtra("Extra1").length() != 0) {
data_global += data.getStringExtra("Extra1");
}
}
break;
}
case (201): {
if (resultCode == Activity.RESULT_OK) {
if (data.getStringExtra("Extra2").length() != 0) {
data_global += data.getStringExtra("Extra2");
}
}
break;
}
case (202): {
if (resultCode == Activity.RESULT_OK) {
if (data.getStringExtra("Extra3").length() != 0) {
data_global += data.getStringExtra("Extra3");
}
}
break;
}
並且任何活動 1 或 2 或 3 代碼都是這樣的:( X
在 Extra 的末尾指的是 1、2、3)
case R.id.btnSave:
Intent resultIntent = new Intent();
resultIntent.putExtra("ExtraX", "name");
setResult(Activity.RESULT_OK, resultIntent);
finish();
break;
我該如何解決我的問題? 非常感謝。
您需要在每個活動的意圖中指定當前和目標活動,如下所示
case R.id.btnSave:
Intent resultIntent = new Intent(Activity1.this, MainActivity.class);
並為其他活動重復此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.