4

我有一個名爲onActivityResult不能打電話,由於方向改變

兩項活動

「第一」和「二」

當我打電話的第一個活動startActivityForResult()方法會去第二次活動,並採取了一些數據和回來。

如果第二個活動的方向拍攝數據後,再變就不會調用 onActivityResult()方法。

它調用create函數。

我該怎麼做才能保存從第二個活動中獲取的數據,並且即使改變方向也會調用onActivityResult()方法。

+1

如果在理解該問題時沒有任何問題,請詢問 – user2498588

+0

您應該在onPause()中保存所需的任何值並將其恢復到onResume()中。爲什麼你需要這樣做,定位改變只是許多原因之一。 – Simon

+0

@Simon如何保存我將從第二個活動中獲取的數據 – user2498588

回答

-4

當方向改變時,應用程序正在重新加載自身,這意味着它正在重新啓動。

您可以通過添加一行到Activity聲明塊定位在AndroidManifest.xml改變:

android:orientation="portrait" 

,或者如果你想橫向:

android:orientation="landscape" 
+0

我不想修復方向 – user2498588

0

在您的應用程序的清單,你記得說您的First活動是您的Second活動的母公司?事情是這樣的:

<activity android:name=".Second" 
      android:parentActivityName=".First"> 
    <meta-data 
     android:name="android.support.PARENT_ACTIVITY" 
     android:value=".First"/> 
</activity> 

因爲如果你這樣做,那麼onActivityResult()應該First調用,即使屏幕的方向是不同的,當你在Second稱爲finish()