2012-04-11 72 views
2

我正在開發一個應用程序,其中我使用了多個Activity下的Tab Activity。我使用this Tutorial如何在組標籤下的組活動下爲活動啓動活動?

我想從下一個Activity得到結果。我該怎麼做。我無法找到它。我已經閱讀了兩個或三個示例,如thisthis。但我無法瞭解如何獲得結果。我也試過

View view = getLocalActivityManager().startActivityForResult("Search", 
new Intent(this, WhatMenu.class). 
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();  
But it only Supports `startActivity()` 

。任何幫助將是可以理解的。
在此先感謝

+0

任何建議將被讚賞 – Nitin 2012-04-11 09:51:40

+1

不使用'ActivityGroup'它的棄用,而是使用'Fragment'。 – 2012-04-11 11:17:06

+0

@ Lalit Poptani你能給我一個簡單的例子我怎樣才能使用片段。 – Nitin 2012-04-11 12:12:28

回答

3

提取數據,我已經通過ViewFlipper感謝每一個機構的幫助解決了這個問題。

1

您還需要傳遞請求代碼以使用startActivityForResult()。如果您不知道它是什麼,只需傳遞0.
startActivity()startActivityForResult()的語法是不同的。

+0

先生我已經嘗試過,但沒有方法getLocalActivityManager()。startActivityForResult(i,29);如果我從組Activity中嘗試它,它會隱藏我不想要的標籤 – Nitin 2012-04-11 09:56:31

+0

ahh .. ** LocalActivityManager **中沒有結果的方法。我可否知道目的,以便我們可以考慮其他選擇。 – noob 2012-04-11 10:02:05

+0

先生,我只是想從下一個活動獲取一些數據到上一個並通知列表; – Nitin 2012-04-11 10:06:47

0

活動1
創建一個用於參考的類變量。

private final int REQUEST_CODE = 0; 

... 
//Somewhere in your code you have to call startActivityForResult 
Intent intent = new Intent(Activity1.this, Activity2.class); 
startActivityForResult(intent); 


活動2

結束活性2之前,你必須設置結果確定,將您希望帶回活性1 likeso

Intent data = new Intent(); 
data.putExtra("name", "Mark"); 
data.putExtra("number", 1); 
data.putExtra("areYouHappy", true); 

setResult(RESULT_OK, data); 
finish(); //closes Activity2 and goes back to Activity1 


數據現在回到Activity1,您應該重寫onActivityResult方法並從Activity2中檢索值。
您首先檢查Activity2的結果是否正確,然後檢查通過的參考REQUEST_CODE。由於之前我們創建了private final int REQUEST_CODE = 0,因此我們檢查requestCode是否等於變量REQUEST_CODE。如果再從活動2.

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if(resultCode==RESULT_OK) { 
     if(requestCode==REQUEST_CODE) { 
      if(data.getExtras()!=null) { 
       String name = data.getStringExtra("name"); 
       int number = data.getIntExtra("number",0); //2nd parameter is the default value in case "number" does not exist 
       boolean areYouHappy = data.getBooleanExtra("areYouHappy", false); //2nd parameter is the default value in case "areYouHappy" does not exist 
      } 
     } 
    } 
} 
+0

Java沒有全局變量,並且使用private和final,使其不易訪問,而不是全局變量。你的意思是說類變量或靜態變量? – noob 2012-04-11 11:28:38

+0

感謝您的更正先生。 ^^ – 2012-04-11 12:57:38