活動が破壊されるまで、Androidイベントは一度だけ呼ばれますか?

StackOverflow https://stackoverflow.com/questions/9027507

  •  14-11-2019
  •  | 
  •  

質問

私は単一の答えを探しています(しかし私は間違った質問をしているかもしれません)

QUSTORS - 活動が破壊されるまで、どんなイベントは合計に1回呼び出されますか?

私のユーザーが電話をoncreate oncreate oncreateに回転させ、OnStartの両方が呼び出されると、ソートのリロードが発生します。

私は行動を出すことができるイベントを探しています(活動が殺されるまで)

事前にありがとう

役に立ちましたか?

解決

If it is specific to the Activity just check your savedInstanceState parameter in the onCreate event. If it is null, run your code, if not, your code has already been run.

Example:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    if(savedInstanceState == null) {
        // Run your code
    }        
}

savedInstanceState will always be null when onCreate is run for the first time, and it will be populated thereafter.

他のヒント

You don't really specify what you're trying to do with it, so I can't guarantee this is appropriate for your use, but Application.onCreate is only called once.

If you want to eliminate the recreation of your activity on an orientationchange you can listen for configchanges in the manifest.

    <activity
            android:name=".MyActivity"
            android:configChanges="orientation" >
    </activity>

And then you can override onConfigurationChanged like so:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged( newConfig );

    LinearLayout main = (LinearLayout) findViewById( R.id.mainLayout );
    main.requestLayout();
}

to recreate the layout so that it matches the new orientation, without recreating the entire activity.

Check http://developer.android.com/guide/topics/resources/runtime-changes.html to handle configuration changes and to maintain your huge data between them...if all you need to maintain between the configuration change is just the settings,you can use the onSavedInstanceState() and onRestoreInstanceState() callbacks and the given bundles.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top