اندروید: ذخیره و بازیابی وضعیت Activity هنگامی که به دلیل تغییرات پیکربندی بازسازی می‌شود

در هر تغییر پیکربندی مانند تغییر Oriention یک Activity بازسازی میشود. در این حالت لازم است وضعیت آن ذخیره و بازیابی شود.

ذخیره وضعیت

...
@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt(COUNTER, counter);
    Log.d(TAG, "onSaveInstanceState: counter = " + counter);
}
...
/////// DO NOT USE THIS: public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState)

بازیابی وضعیت

...
@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    if(savedInstanceState != null){
        counter = savedInstanceState.getInt(COUNTER);
    }

    button2.setText(String.valueOf(counter));
    ...
}
...
درخت مرجع: 

افزودن نظر جدید