2012-02-07 24 views

答えて

0

オリエンテーションの変更を自分で処理することを検討しますか?そうすることで、オリエンテーションが変更されたときにonCreateが呼び出されることはありません(potraitとlandscapeのレイアウトが異なる場合はあまり効果がありません)。画面の表示/非表示やアクティビティの再開時に呼び出されるonStartメソッドに依存することができます。

1

onCreate()を使用することができるよりも、他の方法:

  1. のOnStart()
  2. OnRestart()
  3. OnResume()

あなたがでドキュメントのthis pageに相談することをお勧めします彼らがすべて異なる状況で呼び出されるようにあなたのニーズに合ったものを決定するための命令。

また、あなたは常に向きが自分を変える扱うことができ、onCreate()メソッドが呼び出されないであろうその方法は、画面が回転すると:マニフェストファイルへ

変更:

<activity 
    android:name=".ActivityName" 
    android:configChanges="keyboardHidden|orientation" /> 

は、このメソッドを追加します。活動の中で:

/** {@inheritDoc} */ 
@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
} 

これはあなたの質問にお答えします。

0

このアクティビティは、onCreateが呼び出されると開き、onDestroyが呼び出されると閉じます。各onCreateは常にonDestroyとペアになります。オリエンテーションが変更されると、アクティビティは(デフォルトで)最初に破棄され、新しい方向で再作成されます。

+0

通常、アクティビティが終了すると、onDestroyはOSとは呼ばれません。 http://developer.android.com/reference/android/app/Activity.html#onDestroy%28%29 – Jimmy

関連する問題