2014-04-02 68 views
1

我在我的android應用程序中實現了TabActivity。在我第一次加載活動,並單擊第二個選項卡上加載活動說活性2第二個選項卡=>在第二個選項卡上我有網格視圖=>在網格視圖我使用代碼波紋管打開第二個選項卡上的孩子activity23的單擊事件:TabActivity未加載的兒童

Intent intent=new Intent(activity2.this, activity23.class); 

TabGroupActivity parentActivity = (TabGroupActivity)getParent(); 
parentActivity.startChildActivity("activity23", intent); 

當我從活動23返回(完成)到活動2並再次點擊grideview去活動23然後它不啓動子活動。我測試了各種設計,它的工作除了android2.3.3以外都設計得很好。根據我的測試,這個問題只發生在2.3.3和2.3.6設計中。

調試之後,我發現,TabGroupActivity => StartChildActivity()的功能如以下

public void startChildActivity(String Id, Intent intent) {  

窗口窗口= etLocalActivityManager()startActivity(ID,intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)); 如果(窗口!= NULL){ mIdList.add(ID); setContentView(window.getDecorView()); }
}

在這裏第一時間窗口對象獲得Android操作系統2.3.3不爲空,但如果我們完成了孩子,並重新開始同一個孩子開始,然後所以它不會加載子活動窗口對象變得無效。

,如果任何人有任何想法,如果任何人有TabView的完整代碼所有Android色器件2.2以上則最歡迎來解決這個問題,那麼最歡迎。

回答

0

我解決這個問題,通過隨機數作爲唯一的ID,當我在下面TabGroupActivity啓動子活動是爲解決方案的代碼

Intent intent=new Intent(activity2.this,activity23.class); 
TabGroupActivity parentActivity = (TabGroupActivity)getParent(); 
parentActivity.startChildActivity((new Random().nextInt(90)+11)+"", intent); 

我們要當我們創建新的意圖推片獨特的每一次傳球。