Guest User

Untitled

a guest
Mar 25th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. private static final String FRAGMENT_TAG = "browseFragment";
  2.  
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState)
  5. {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. navigateToBrowse(0);
  9. }
  10.  
  11. private void navigateToBrowse(int browseId)
  12. {
  13. BrowseFragment fragment = getBrowseFragment();
  14. if (fragment == null || fragment.getBrowseId() != browseId)
  15. {
  16. fragment = new BrowseFragment();
  17. fragment.setBrowseId(browseId);
  18. FragmentTransaction transaction = getFragmentManager().beginTransaction();
  19. transaction.setCustomAnimations(
  20. R.animator.slide_in_from_right, R.animator.slide_out_to_left,
  21. R.animator.slide_in_from_left, R.animator.slide_out_to_right);
  22. transaction.replace(R.id.container, fragment, FRAGMENT_TAG);
  23. // If this is not the top level root, we add it to the fragment back stack,
  24. // so that actionbar toggle and Back will work appropriately:
  25. if (browseId > 0)
  26. {
  27. transaction.addToBackStack(null);
  28. }
  29. transaction.commit();
  30. }
  31. }
  32.  
  33. public int getCurrentBrowseId()
  34. {
  35. BrowseFragment fragment = getBrowseFragment();
  36. if (fragment == null)
  37. {
  38. return 1;
  39. }
  40. return fragment.getBrowseId();
  41. }
  42.  
  43. private BrowseFragment getBrowseFragment()
  44. {
  45. return (BrowseFragment) getFragmentManager().findFragmentByTag(FRAGMENT_TAG);
  46. }
  47.  
  48. @Override
  49. public void onNext()
  50. {
  51. navigateToBrowse(getCurrentBrowseId()+1);
  52. }
  53.  
  54. public static class BrowseFragment extends Fragment
  55. {
  56. private static final String ARG_BROWSE_ID = "browseId";
  57. private OnListener mListener;
  58.  
  59. @Override
  60. public void onAttach(Context context)
  61. {
  62. super.onAttach(context);
  63. if (context instanceof BrowseFragment.OnListener)
  64. {
  65. mListener = (BrowseFragment.OnListener) context;
  66. }
  67. else
  68. {
  69. throw new RuntimeException(context.toString()
  70. + " must implement OnListener");
  71. }
  72. }
  73.  
  74. @Override
  75. public void onDetach()
  76. {
  77. super.onDetach();
  78. mListener = null;
  79. }
  80.  
  81. public int getBrowseId()
  82. {
  83. Bundle args = getArguments();
  84. if (args != null)
  85. {
  86. return args.getInt(ARG_BROWSE_ID);
  87. }
  88. return 0;
  89. }
  90.  
  91. public void setBrowseId(int browseId)
  92. {
  93. Bundle args = new Bundle(1);
  94. args.putInt(ARG_BROWSE_ID, browseId);
  95. setArguments(args);
  96. }
  97.  
  98. public interface OnListener
  99. {
  100. void onNext();
  101. }
  102. }
  103. }
Add Comment
Please, Sign In to add comment