i'm having problems thought simple use of sharedpreferences!
aim: i've actionbar/tab application mainactivity , 4 tabs swipe fragments. want app remember last user selected tab, on next start of app, defaults tab.
code in each fragment (in oncreateview
method):
sharedpreferences prefs = getactivity().getpreferences(context.mode_private); sharedpreferences.editor editor = prefs.edit().putint("tabpref", 0); editor.apply();
where "tabpref", 0
name of pref , number of tab (0-3).
in mainactivity, i'm using following read preference , set default tab on starting app (in oncreate):
sharedpreferences prefs = getpreferences(context.mode_private); integer tabpref = prefs.getint("tabpref", 99); mviewpager.setcurrentitem(tabpref, false);
however, i'm getting weird preferences being set, don't conform selection of tab (e.g. tab 4 doesn't set preference, , tabs 1-3 randomly set integers 0, 1, 2 or 3 - i'm using system.outs see what's happening).
am missing fundamental regarding life cycle of fragments isn't setting sharedpreference?
thanks....
solved: needed set sharedpreferences in onpagechangelistener class within mainactivity, not in fragments (doh!).
mviewpager.setonpagechangelistener(new viewpager.simpleonpagechangelistener() { @override public void onpageselected(int position) { actionbar.setselectednavigationitem(position); sharedpreferences.editor editor = prefs.edit().putint("tabpref", position); editor.apply(); } });
Comments
Post a Comment