2013-08-22 7 views
0

использовал намерение от кнопки, чтобы перейти к другому действию, а затем вернется к первоначальной активности.onSavedInstanceState не работает над возвратом к активности

Я попытался сохранить два целых числа, оставив действие для другого действия, а затем, когда я вернусь к первоначальной активности, я получу нуль для пакета.

Кто-нибудь знает, почему это не работает?

Я использовал пакет savedInstanceState для сохранения переменных при вращении экрана, и он работает в этой ситуации, однако, когда я уезжаю, чтобы просмотреть другое действие, а затем вернемся к этому действию, пакет не был сохранен. получение null на возврат.

onSavedInstanceState метода

@Override 
public void onSaveInstanceState(Bundle outState){ 
super.onSaveInstanceState(outState); 

outState.putInt("index", index); 
outState.putInt("top", top); 

} // end onSavedInstanceState 

первая часть OnCreate метод, содержащих код для получения savedInstatnceState сохранена переменными

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_inspectioninfoselectionlist); 

    if(savedInstanceState!=null){ 
     index = savedInstanceState.getInt("index"); 
     top = savedInstanceState.getInt("top"); 
     Log.i("$$$$$$$", "value of index and top returned after activity starts" + index + " " + top); 
    }else if (savedInstanceState == null){ 
     Log.i("$$$$$$$", "saved instance state is null" + index + " " + top); 
    } 

ответ

1

onSaveInstanceState() вызываются, когда происходит изменение конфигурации, такие как экран ориентация, изменение языка и т. д.
Открытие другого действия не является изменением конфигурации, поэтому метод не вызывается.