У меня есть приложение, использующее TabLayout и ViewPager.Как «запомнить» последний посетивший tabFragment и открыть его onResume?
Я получил работу гладкой и красивой, но то, что меня беспокоит, заключается в том, что когда я открываю активность из вкладок, я бы хотел открыть одну и ту же вкладку в следующий раз, когда вернусь к этой активности.
Какая наилучшая практика для создания того, что мне нужно, используя SharedPreferences?
Это, насколько я получил его:
private SharedPreferences prefs;
private String LAST_TAB = "last_tab";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prefs = this.getSharedPreferences("com.myapp", Context.MODE_PRIVATE);
}
@Override
public void onResume() {
int selTab = prefs.getInt(LAST_TAB, 0);
/* TODO: How do I procrammatically select tab? */
}
private void setTab() {
TabLayout tabLayout = (TabLayout)findViewById(R.id.myTabs);
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
int selTab = tab.getPosition();
viewPager.setCurrentItem(selTab);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt(LAST_TAB, selTab);
editor.apply();
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
Отлично. Я использовал это, и он работал, как ожидалось. благодаря – EspeH