0

私の主なアクティビティは、縦向きモードへの変更をうまく処理します。ただし、非常に単純なアクティビティを起動し、startActivityForResult()終了する前にポートレート モードに切り替えると、変数の一部が null に設定されているため、メイン アクティビティがクラッシュします。

サービスへの接続が再作成されていないようです。doUnbindService(); doBindService();内部で手動で呼び出してみonActivityResult()ましたonServiceConnected()が、まだ呼び出されていません。

ここでアクティビティのライフサイクルを処理する適切な方法は何ですか?

EDIT:ログファイルにonServiceConnected()実際に呼び出されていることがわかりますが、後で呼び出されて onActivityResult()います。

4

2 に答える 2

2

あなたのために2番目のアクティビティはこれを追加します

  if your android:targetSdkVersion="12" or less
     android:configChanges="orientation|keyboardHidden">

      if your  android:targetSdkVersion="13" or more
  android:configChanges="orientation|keyboardHidden|screenSize">

マニフェスト.xmlで

于 2012-09-20T03:49:27.140 に答える
0

問題は、onCreate()が再度呼び出されるまで存在しないオブジェクトを参照していたことでした。クラッシュを避けるために、回答をローカルでキューに入れ、それらのオブジェクトが再作成されるのを待つ必要がありました。

于 2012-11-26T21:31:50.843 に答える