android ActivityGroup橫豎屏使用不同佈局導致的問題

需要編寫一個上邊不變,下邊是幾個Tab,中間顯示的內容可以改變的頁面,最後使用瞭ActivityGroup來實現,中間各個頁面間的跳轉是使用以下語句實現的: container.removeAllViews();
Intent intent = new Intent(Player.this,PlayerAlbum.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Window subActivity = ((ActivityGroup)GinwavePlayer.this.getParent()).getLocalActivityManager().startActivity("", intent);

container.addView(subActivity.getDecorView());,

由於需要橫屏和豎屏顯示不同的佈局(橫屏顯示的內容是一個圖片瀏覽的Gallery),所以在onConfigurationChanged函數中重新設置佈局,在豎屏時各個頁面跳轉是正常的,從豎屏變為橫屏,再變為豎屏,頁面就跳轉不過去瞭(從Player跳轉到PlayerAlbum頁面),我打瞭log看瞭下,發現已經執行瞭PlayerAlbum的構造函數,但界面還是顯示Player頁面,在csdn上提問,也沒有人給出一個答案,可能我問的太晚瞭吧,昨晚上想瞭一晚上,為什麼豎屏時跳轉是正常的,而從豎屏變為橫屏,再變為豎屏後跳轉不能進行,我想可能是因為上邊startActivity時沒有指定唯一的String ID,然後我給它加上瞭唯一的String ID,但還是有問題,然後我想可能是由於ActivityGroup中Activity記錄錯瞭,然後我在subActivity之前增加瞭((ActivityGroup)PlayList.this.getParent()).getLocalActivityManager().removeAllActivities()函數,然後切換就沒有問題瞭,對ActivityGroup的理解還是存在問題,以後得多看看~~

 

摘自 xiaoxiaobian3310903的專欄 

發佈留言