【发布时间】:2023-03-08 16:11:01
【问题描述】:
我有使用 TabLayout 和 ViewPager 的应用程序。
我让它运行得很好,但令我困扰的是,当我从选项卡打开活动时,我希望下次返回该活动时打开相同的选项卡。
使用 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) {
}
});
}
【问题讨论】:
标签: android android-activity android-viewpager sharedpreferences android-tablayout