Advertisement
Guest User

Untitled

a guest
Nov 21st, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. public class NewFragment extends Fragment implements Callback<List<ModelsCinema>>,OnClickListener
  2. {
  3. private LinearLayout layout;
  4. private Button back,next;
  5. private RecyclerView rv;
  6. private ProgressBar loading;
  7. private DateAdapter adapter;
  8. private int position;
  9. private int pageCounter=2;
  10. @Override
  11. public void onConfigurationChanged(Configuration newConfig)
  12. {
  13. super.onConfigurationChanged(newConfig);
  14. setGriadLayoutManadger(newConfig.orientation);
  15. }
  16. @Override
  17. public void onCreate(Bundle savedInstanceState)
  18. {
  19. super.onCreate(savedInstanceState);
  20. position = getArguments().getInt("position", 0);
  21. }
  22. @Override
  23. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
  24. {
  25. return inflater.inflate(R.layout.fragments, container, false);
  26.  
  27. }
  28.  
  29. @Override
  30. public void onViewCreated(View view, Bundle savedInstanceState)
  31. {
  32. super.onViewCreated(view, savedInstanceState);
  33. layout = (LinearLayout) view.findViewById(R.id.layout);
  34. back = (Button) view.findViewById(R.id.black);
  35. next = (Button) view.findViewById(R.id.next);
  36. rv = (RecyclerView) view.findViewById(R.id.rv);
  37. loading = (ProgressBar) view.findViewById(R.id.loading);
  38. loading.animate().alpha(1).setDuration(300).start();
  39. int orientation=getActivity().getResources().getConfiguration().orientation;
  40. setGriadLayoutManadger(orientation);
  41. Loader.load(Links.navigation_urls[position], 0, this);
  42. }
  43. @Override
  44. public void onResponse(final List<ModelsCinema> response)
  45. {
  46. adapter = new DateAdapter(getActivity(), response, getActivity());
  47. rv.setAdapter(adapter);
  48. loading.setVisibility(View.GONE);
  49. rv.addOnScrollListener(new RecyclerView.OnScrollListener() {
  50.  
  51. @Override
  52. public void onScrolled(RecyclerView recyclerView, int dx, int dy)
  53. {
  54. super.onScrolled(recyclerView, dx, dy);
  55.  
  56. final GridLayoutManager layoutManager = (GridLayoutManager) recyclerView.getLayoutManager();
  57.  
  58. final int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
  59. if (layoutManager.getChildCount() + firstVisibleItemPosition >= layoutManager.getItemCount())
  60. {
  61. if (pageCounter == 2)
  62. {
  63. back.setVisibility(View.GONE);
  64. }
  65. else
  66. {
  67. back.setVisibility(View.VISIBLE);
  68. }
  69. layout.setVisibility(View.VISIBLE);
  70. next.setOnClickListener(NewFragment.this);
  71. back.setOnClickListener(NewFragment.this);
  72.  
  73. }
  74.  
  75. else
  76. {
  77. layout.setVisibility(View.GONE);
  78. }
  79. }
  80. });
  81. }
  82.  
  83. @Override
  84. public void onError()
  85. {
  86. // TODO: Implement this method
  87. }
  88. @Override
  89. public void onClick(View p1)
  90. {
  91.  
  92. loading.setVisibility(View.VISIBLE);
  93. rv.setVisibility(View.GONE);
  94. switch (p1.getId())
  95. {
  96. case R.id.black:
  97. pageCounter--;
  98. break;
  99. case R.id.next:
  100. pageCounter++;
  101. break;
  102. }
  103. Loader.load(Links.navigation_urls[position], pageCounter, new Callback<List<ModelsCinema>>(){
  104.  
  105. @Override
  106. public void onResponse(List<ModelsCinema> response)
  107. {
  108. adapter = new DateAdapter(getActivity(), response, getActivity());
  109. rv.setAdapter(adapter);
  110. loading.setVisibility(View.GONE);
  111. rv.setVisibility(View.VISIBLE);
  112. }
  113.  
  114. @Override
  115. public void onError()
  116. {
  117. // TODO: Implement this method
  118. }
  119.  
  120.  
  121. }
  122. );
  123. }
  124. private void setGriadLayoutManadger(int orientation)
  125. {
  126. int columnCount=orientation == Configuration.ORIENTATION_PORTRAIT ? 1 : 2;
  127. GridLayoutManager manadger=new GridLayoutManager(getActivity(), columnCount);
  128. rv.setLayoutManager(manadger);
  129.  
  130. }
  131. public static NewFragment newInstance(int position)
  132. {
  133. NewFragment fragment=new NewFragment();
  134. Bundle args=new Bundle();
  135. args.putInt("position", position);
  136. fragment.setArguments(args);
  137. return fragment;
  138. }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement