2016-03-25 9 views
1

戻るボタンを押したときにタブ位置を保存して戻す方法はありますか?戻るボタンが押されたときのtabLayout位置の保存

@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)); 
} 

これを行うにはonBackPressed()を使用しますか? ヘルプは大歓迎です。ありがとう!

あなたは次のように背中を押してそれを行うことができます

答えて

1

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

、あなたのバックスクリーンにあなたはページャを加えてかなりこの^のみ

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

if(mViewPager !=null) 

mViewPager.setCurrentItem(pos); 

} 
+0

の位置を設定することができますこれをSharedPreferencesに保存します。これは、この時点で自分で達成する方法を知っている必要があります。 – Vucko

関連する問題