savedInstanceState is always null, yet onSaveInstanceState() is always called

前端 未结 3 2067
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-04 02:53

First of all I\'m new to Android - this question could seem stupid :)

I\'ve created an main Activity that contains a ViewPager. The ViewPager is linked to

3条回答
  •  天涯浪人
    2021-01-04 03:22

    so if the onSaveInstance was Called

    you can declare a global variable for your

     int pos=0; 
    

    after onSaveInstance() gets called, method below is called:

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    pos=savedInstanceState.getInt("tab", 0);    
    

    }

    so in your onCreate() function replace the condition from this:

    if (savedInstanceState != null) {
        actionBar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
    }
    

    to this:

    if(pos>0){
    actionBar.setSelectedNavigationItem(pos);
    }
    

提交回复
热议问题