1

當我調用startActivityForResult(或startActivity)時,即使在創建新的活動之前,也會調用MainActivity的「onCreate」。 它不會與其他意圖發生。startActivity與YouTubeStandalonePlayer意圖使MainActivity被創建

這是(SherlockActionBar的選項卡內的片段內)中具有的適配器的列表視圖的按鈕的點擊處理程序內的代碼:

  ((MainActivity)context).setVideoId(v.getTag().toString()); 
      Intent videoIntent = YouTubeStandalonePlayer.createVideoIntent((Activity) context, "AIzaSyC1sF6kq9hHGrQvRSiU8Ks5iYfVCbdg7zA", v.getTag().toString(), 0, true, false); 
      ((Activity)context).startActivityForResult(videoIntent, 12); 

,這是適配器的構造:

public ItemAdapter(Context c, int textViewResourceId) { 
    super(c, textViewResourceId); 
    this.layoutResourceId = textViewResourceId; 
    this.context = c; 
+0

你是說在創建新活動之前調用MainActivity的onCreate()是什麼意思?你遇到了什麼錯誤? –

+0

我現在沒有收到錯誤信息,但是它帶來了問題。當我使用YouTube意圖調用StartActivity時,似乎創建了MainActivity(MainActivity的onCreate被調用),然後顯示了YouTube的活動。當我單擊設備的後退按鈕時,MainActivity會再次創建。如果我更改了代碼並啓動了一些其他活動(而不是YouTube),那麼MainActivity不會再次創建。 youtube意圖的getFlags()返回0.希望現在更清楚。 –

回答

4

這是因爲活動改變方向而發生的。在清單中添加:

<activity 
android:configChanges="orientation|screenSize|keyboardHidden" 
... 
+0

你是對的,但你的建議阻止選擇改變方向到我的活動。 –

+1

不,您只能添加 android:configChanges =「orientation | screenSize | keyboardHidden」 它不會在更改屏幕方向後重新創建活動 –

相關問題