0

When I change the orientation of my mobile phone, the text content is not saved and the default text is put in the textview, in my android manifest in my activity Cafeteria I have this

android:configChanges="keyboardHidden|orientation"

Cafeteria

public class Cafeteria extends BaseActivity {

private SectionsPagerAdapter mSectionsPagerAdapter;


private ViewPager mViewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cafeteria);

    /*Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);*/

    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());


    mViewPager = (ViewPager) findViewById(R.id.container);
    mViewPager.setAdapter(mSectionsPagerAdapter);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(mViewPager);

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.menu_cafeteria, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}


public class SectionsPagerAdapter extends FragmentPagerAdapter {

    public SectionsPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position){
            case 0:
                Oferta oferta = new Oferta();
                return oferta;
            case 1:
                MenuCafe men = new MenuCafe();
                return men;
            case 2:
                Carta carta = new Carta();
                return carta;
            default:
                return null;
        }
    }

    @Override
    public int getCount() {
        // Show 3 total pages.
        return 3;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return getString(R.string.ofertas);
            case 1:
                return getString(R.string.menu);
            case 2:
                return getString(R.string.carta);
        }
        return null;
    }
}

MenuCafe

public class MenuCafe extends Fragment{
    private RecyclerView recyclerView;
    private LinearLayoutManager linearLayoutManager;
    private AdaptadorMenu adapter;
    private List<Menu> menu;




    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_menu, container, false);
        recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view_menu);
        menu  = new ArrayList<>();
        load_data_from_server(0);
        linearLayoutManager = new LinearLayoutManager(getContext());
        recyclerView.setLayoutManager(linearLayoutManager);
        adapter = new AdaptadorMenu(getContext(),menu);
        recyclerView.setAdapter(adapter);
        return rootView;
    }
}

Thank you for the help

Palos
  • 3
  • 1

2 Answers2

0

Try giving this in Android manifest file

 android:screenOrientation="portrait"
0
  • You must save text content , because when rotation screen ,your activity will reset life cycle of android, same as first open.
  • See how to save the status here: Losing data when rotate screen
Cuong Nguyen
  • 970
  • 6
  • 17