2016-03-25 27 views
1

Kullanıcı Geri düğmesine bastığında sekme konumunu nasıl kaydedebilir ve geri verebilirim? Kaydetme sekmesi Geri düğmesine basıldığında çıkış konumu

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 
    ViewPager vpPager = (ViewPager) findViewById(R.id.viewpager); 
    adapterViewPager = new MyPagerAdapter(getSupportFragmentManager()); 
    vpPager.setAdapter(adapterViewPager); 

    // Give the TabLayout the ViewPager 
    tabLayout = (TabLayout) findViewById(R.id.sliding_tabs); 
    tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 
    tabLayout.setTabMode(TabLayout.MODE_FIXED); 
    tabLayout.setupWithViewPager(vpPager); 

    // Attach the page change listener inside the activity 
    vpPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 

} 

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putInt(POSITION, tabLayout.getSelectedTabPosition()); 
} 

@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 
    viewPager.setCurrentItem(savedInstanceState.getInt(POSITION)); 
} 

Ben onBackPressed kullanıyor musunuz() bunu yapmak için? Yardımı çok takdir ediyor. Teşekkürler!

cevap

1

Sen şu şekilde sırt basın ile yapabilirsiniz:

@Override 
public void onBackPressed() { 
    int pos = mViewPager.getCurrentItem(); 
} 

ve geri ekranda size^sadece eklenmesiyle bu hemen hemen

@Override 
public void onResume(){ 
super.onResume(); 
// put your code here... 

if(mViewPager !=null) 

mViewPager.setCurrentItem(pos); 

} 
+0

çağrı cihazı konumunu ayarlayabilirsiniz zaman bu noktada kendiniz nasıl başaracağınızı bilmeniz gereken SharedPreferences'a kaydetme. – Vucko

İlgili konular