Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static final String FRAGMENT_TAG = "browseFragment";
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- navigateToBrowse(0);
- }
- private void navigateToBrowse(int browseId)
- {
- BrowseFragment fragment = getBrowseFragment();
- if (fragment == null || fragment.getBrowseId() != browseId)
- {
- fragment = new BrowseFragment();
- fragment.setBrowseId(browseId);
- FragmentTransaction transaction = getFragmentManager().beginTransaction();
- transaction.setCustomAnimations(
- R.animator.slide_in_from_right, R.animator.slide_out_to_left,
- R.animator.slide_in_from_left, R.animator.slide_out_to_right);
- transaction.replace(R.id.container, fragment, FRAGMENT_TAG);
- // If this is not the top level root, we add it to the fragment back stack,
- // so that actionbar toggle and Back will work appropriately:
- if (browseId > 0)
- {
- transaction.addToBackStack(null);
- }
- transaction.commit();
- }
- }
- public int getCurrentBrowseId()
- {
- BrowseFragment fragment = getBrowseFragment();
- if (fragment == null)
- {
- return 1;
- }
- return fragment.getBrowseId();
- }
- private BrowseFragment getBrowseFragment()
- {
- return (BrowseFragment) getFragmentManager().findFragmentByTag(FRAGMENT_TAG);
- }
- @Override
- public void onNext()
- {
- navigateToBrowse(getCurrentBrowseId()+1);
- }
- public static class BrowseFragment extends Fragment
- {
- private static final String ARG_BROWSE_ID = "browseId";
- private OnListener mListener;
- @Override
- public void onAttach(Context context)
- {
- super.onAttach(context);
- if (context instanceof BrowseFragment.OnListener)
- {
- mListener = (BrowseFragment.OnListener) context;
- }
- else
- {
- throw new RuntimeException(context.toString()
- + " must implement OnListener");
- }
- }
- @Override
- public void onDetach()
- {
- super.onDetach();
- mListener = null;
- }
- public int getBrowseId()
- {
- Bundle args = getArguments();
- if (args != null)
- {
- return args.getInt(ARG_BROWSE_ID);
- }
- return 0;
- }
- public void setBrowseId(int browseId)
- {
- Bundle args = new Bundle(1);
- args.putInt(ARG_BROWSE_ID, browseId);
- setArguments(args);
- }
- public interface OnListener
- {
- void onNext();
- }
- }
- }
Add Comment
Please, Sign In to add comment