I have an order pager adapter
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import java.util.ArrayList;
import java.util.List;
public class OrderPagerAdapter extends FragmentStatePagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
private FragmentManager fm;
public OrderPagerAdapter(FragmentManager fm) {
super(fm);
this.fm = fm;
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
fm.beginTransaction().addToBackStack(null).commit();
}
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
}
Methods in my main order activity class
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_order);
datasource = new Datasource(this);
categoryFragment = new CategoryFragment();
productFragment = new ProductFragment();
detailFragment = new DetailFragment();
mViewPager = (ViewPager) findViewById(R.id.pager2);
mOrderPagerAdapter = new OrderPagerAdapter(getSupportFragmentManager());
setupViewPager(mViewPager);
}
private void setupViewPager(ViewPager viewPager) {
mOrderPagerAdapter.addFragment(categoryFragment, "category");
mOrderPagerAdapter.addFragment(productFragment, "product");
mOrderPagerAdapter.addFragment(detailFragment, "s");
viewPager.setAdapter(mOrderPagerAdapter);
}
public void setViewPager(int fragmentNumber) {
mViewPager.setCurrentItem(fragmentNumber);
}
Popbackstack method
@Override
public void onBackPressed() {
getSupportFragmentManager().popBackStack();
}
Whenever I click the onBackPressed button the previous fragment isnt loading, why does this happen? I have tried multiple things such as adding to backstack and then committing. But none of the ways seem to be working.