I have an activity with two fragments added to a tabAction. The first one is the gridview of applications, the second one is a gridview for documents. When I rotate the tablet my fragments are not up to date. I would like to instantiate my fragment after a rotation so the Activity restarts; but the problem that I don't use viewpager
. And with the part of code given below:
// ActionBar
actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionbar.setDisplayUseLogoEnabled(false);
actionbar.setDisplayShowTitleEnabled(false);
// create new tabs and set up the titles of the tabs
ActionBar.Tab mFindTab = actionbar.newTab().setText(
getString(R.string.ui_tabname_find));
ActionBar.Tab mChatTab = actionbar.newTab().setText(
getString(R.string.ui_tabname_chat));
ActionBar.Tab mMeetTab = actionbar.newTab().setText(
getString(R.string.ui_tabname_meet));
ActionBar.Tab mPartyTab = actionbar.newTab().setText(
getString(R.string.ui_tabname_find));
// create the fragments
Fragment mMeetFragment = new ApplicatinFragment();
Fragment mFindFragment = new MatFragment();
Fragment mChatFragment = new DocumentFragment1();
Fragment mPartyFragment = new PartyFragment();
// bind the fragments to the tabs - set up tabListeners for each tab
mFindTab.setTabListener(new MyTabsListener(mFindFragment,
this.getBaseContext()));
mChatTab.setTabListener(new MyTabsListener(mChatFragment,
getApplicationContext()));
mMeetTab.setTabListener(new MyTabsListener(mMeetFragment,
getApplicationContext()));
actionbar.addTab(mMeetTab);
actionbar.addTab(mFindTab);
my onSaveInstanceState is given by the code below:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
/*
Toast.makeText(
this,
"onSaveInstanceState: tab is"
+ getActionBar().getSelectedNavigationIndex(),
Toast.LENGTH_SHORT).show(); */
outState.putInt("tab", getActionBar().getSelectedNavigationIndex());
outState.putStringArrayList("List", LaunchActivity.myList);
outState.putString("ListActivity", LaunchActivity.myList.toString());
}
then in my Oncreat I call :
if (savedInstanceState != null) {
savedUser = savedInstanceState.getString("TEXT");
savedMode = savedInstanceState.getString("MODE");
String str;
str = savedInstanceState.getString("ListActivity");
test = savedInstanceState.getStringArrayList("List");
//actionbar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 1));
// myList = (ArrayList<String>) Arrays.asList(str.split("\\s*,\\s*"));
actionbar.setSelectedNavigationItem(savedInstanceState.getInt(
TAB_KEY_INDEX, 0));
} else {
savedUser = "eleve";
savedMode = "normal";
}
I would like to use the solution given in what's the right way to store fragment's state
ViewPager and fragments — what's the right way to store fragment's state ]1