Advertisement
Guest User

Untitled

a guest
Jul 19th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.40 KB | None | 0 0
  1. package com.dekikurnia.appcelebrity.ui;
  2.  
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.util.Log;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.ProgressBar;
  10. import android.widget.Toast;
  11. import androidx.annotation.Nullable;
  12. import androidx.fragment.app.Fragment;
  13. import androidx.recyclerview.widget.LinearLayoutManager;
  14. import androidx.recyclerview.widget.RecyclerView;
  15. import butterknife.BindView;
  16. import butterknife.ButterKnife;
  17. import com.dekikurnia.appcelebrity.R;
  18. import com.dekikurnia.appcelebrity.adapters.FilmPriaAdapter;
  19. import com.dekikurnia.appcelebrity.models.FilmPria;
  20. import com.dekikurnia.appcelebrity.models.FilmPriaResponse;
  21.  
  22. import java.util.ArrayList;
  23. import java.util.List;
  24.  
  25. public class FilmPriaFragment extends Fragment implements FilmPriaViewInterface {
  26.  
  27.     @BindView(R.id.rvFilmPria)
  28.     RecyclerView rvFilmPria;
  29.     @BindView(R.id.progressBar)
  30.     ProgressBar pbLoading;
  31.     //@BindView(R.id.toolbarFilm)
  32.     //Toolbar toolbar;
  33.     List<FilmPria> filmPria = new ArrayList<>();
  34.  
  35.     private String TAG = "FilmPriaFragment";
  36.     FilmPriaAdapter adapter;
  37.     FilmPriaPresenter filmPriaPresenter;
  38.  
  39.     public FilmPriaFragment() {
  40.     }
  41.  
  42.  
  43.     @Nullable
  44.     @Override
  45.     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  46.         View view = inflater.inflate(R.layout.fragment_film_pria, container, false);
  47.         ButterKnife.bind(this, view);
  48.  
  49.         setupMVP();
  50.         setupViews();
  51.         getFilmPriaList();
  52.  
  53.         return view;
  54.     }
  55.  
  56.     private void getFilmPriaList() {
  57.         filmPriaPresenter.getFilmPria();
  58.     }
  59.  
  60.     private void setupViews() {
  61.         RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext());
  62.         rvFilmPria.setLayoutManager(layoutManager);
  63.     }
  64.  
  65.     private void setupMVP() {
  66.         filmPriaPresenter = new FilmPriaPresenter(this);
  67.     }
  68.  
  69.     @Override
  70.     public void showToast(String s) {
  71.         Toast.makeText(getContext(),s,Toast.LENGTH_LONG).show();
  72.     }
  73.  
  74.     @Override
  75.     public void displayFilmPria(FilmPriaResponse filmPriaResponse) {
  76.         if(filmPriaResponse!=null) {
  77.             //Log.d(TAG,filmPriaResponse.getData().get(0).getArtistName());
  78.             adapter = new FilmPriaAdapter(rvFilmPria, filmPriaResponse.getData(),getContext());
  79.             rvFilmPria.setAdapter(adapter);
  80.  
  81.             adapter.setOnLoadMoreListener(() -> {
  82.                 if (filmPria.size() <= 10) {
  83.                     filmPria.add(null);
  84.                     adapter.notifyItemInserted(filmPria.size() - 1);
  85.                     new Handler().postDelayed(new Runnable() {
  86.                         @Override
  87.                         public void run() {
  88.                             filmPria.remove(filmPria.size() - 1);
  89.                             adapter.notifyItemRemoved(filmPria.size());
  90.                             int scrollPosition = filmPria.size();
  91.                             int index = scrollPosition;
  92.                             int end = index + 10;
  93.                             for (int i = index+1; i <= end; i++) {
  94.                                 //FilmPria fp= new FilmPria();
  95.                                 //fp.setArtistName("Tes");
  96.                                 //fp.setAge("Tes");
  97.                                 //fp.setGender("Tes");
  98.                                 //fp.setHeight("Tes");
  99.                                 //fp.setWeight("Tes");
  100.                                 //fp.setDomicile("Tes");
  101.                                 //fp.setPhoto(filmPria.get(i).getPhoto());
  102.                                 filmPria.add(new FilmPria());
  103.                                 adapter.notifyItemInserted(filmPria.size());
  104.                             }
  105.                             adapter.notifyDataSetChanged();
  106.                             adapter.setLoaded();
  107.                         }
  108.                     }, 1000);
  109.                 }
  110.             });
  111.         }else{
  112.             Log.d(TAG,"Film Pria response null");
  113.         }
  114.     }
  115.  
  116.     @Override
  117.     public void displayError(String s) {
  118.         showToast(s);
  119.     }
  120.  
  121.     @Override
  122.     public void showProgress() {
  123.         pbLoading.setVisibility(View.VISIBLE);
  124.     }
  125.  
  126.     @Override
  127.     public void hideProgress() {
  128.         pbLoading.setVisibility(View.GONE);
  129.     }
  130.  
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement