2011-04-04 25 views
0

我面臨與onActivityResult()相關的問題。Android:onActivityResult()不調用

我使用TabActivity作爲主要Activity。每個選項卡都是activityGroup。

甲的ActivityGroup的子活動A(活動)發送使用

startActivityForResult(,)意圖B(活性)。

但是,當B活動結束,onActivityResult()不答叫

A活動

Intent intent = new Intent(A.this, B.class); 
startActivityForResult(intent, 1); 

B活動

Intent intent = new Intent(); 
setResult(RESULT_OK, intent); 
finish(); 

有什麼不對?

由於TabActivity,ActivityGroup或Flag?

請指教..

+0

我想TabActivity已被否決。 – Eenvincible 2014-03-17 17:23:53

+0

TabActivity已棄用使用FragmentActivity,並且由於ActivityGroup的原因,onResultActivity不會調用。看我的答案 – Nepster 2015-01-24 18:42:45

回答

0

問題與TabActivity中的ActivityGroup。我想finishFromChild將在父活動(在TabHost中)中被調用。覈實。

其實......你真的需要TabActivity內的ActivityGroup嗎?!避免它,例如在您的父級TabActivity的每個選項卡中使用簡單的TabHost視圖,這樣TabActivity將切換視圖,而不是活動。

-1

使用下面的代碼我希望它能工作。

Intent intent = new Intent(getParent(), B.class); 
    startActivityForResult(intent, 1); 
0

嘗試使用tabgroup activity包含你當前活動的情況下調用startActivityForResult,然後聽在tabgroup activity.

使用該工具來獲取tabGroupActivity

TabGroupActivity parentActivity = (TabGroupActivity)getParent(); 

然後調用startActivityForResult從它:

parentActivity.startActivityForResult(...); 

最後,把一個onActivityResult聽衆在tabGroupActivity:

protected void onActivityResult(int requestCode, int resultCode,Intent intent) { 
     super.onActivityResult(requestCode, resultCode, intent); 
    }