2012-09-07 11 views
5

मैं : restoreState() और saveState() में दो विधियों को लागू करके ViewPager (वर्तमान स्थिति इत्यादि) की वर्तमान स्थिति को सहेजने का प्रयास कर रहा हूं। हालांकि वे मेरे मामले में सही ढंग से काम नहीं कर रहे हैं। मैं क्या गलत कर रहा हूँ?क्यों PagerAdapter का पुनर्स्थापना() और saveState() काम नहीं करेगा?

@Override 
public Parcelable saveState() { 

Bundle bundle = new Bundle(); 
bundle.putParcelable("instanceState", super.saveState()); 
bundle.putInt("stateToSave", position); 
return bundle; 
} 

@Override 
public void restoreState(Parcelable state, ClassLoader c) { 
if (state instanceof Bundle) { 
    Bundle bundle = (Bundle) state; 
    position = bundle.getInt("stateToSave"); 
    super.restoreState(bundle.getParcelable("instanceState"), c); 
    return; 
} 
super.restoreState(state, c); 
} 

उत्तर

-1

क्या आपने ViewPager से SaveInstanceState विधि पर उपयोग करने का प्रयास किया था? अपनी गतिविधि/टुकड़े में आप इस विधि को कॉल करके व्यूपार्जर की स्थिति को बचा सकते हैं और परिणाम को बंडल में पास कर सकते हैं।

गतिविधि/टुकड़ा कॉल onRestoreInstanceState (Parcelable पी)

+0

आप onSaveInstanceState नहीं बुला जाना चाहिए और अपने आप onRestoreInstanceState का उपयोग कर के पुनर्निर्माण के बाद। ऐसा करने के लिए एंड्रॉइड ढांचे पर छोड़ दें। –

संबंधित मुद्दे