Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.nurzainpradana.androidfundamental.submission3moviecatalogueapi.ui.movies;
- import android.content.Intent;
- import android.content.res.TypedArray;
- import android.os.Bundle;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ProgressBar;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.fragment.app.Fragment;
- import androidx.lifecycle.Observer;
- import androidx.lifecycle.ViewModelProvider;
- import androidx.recyclerview.widget.LinearLayoutManager;
- import androidx.recyclerview.widget.RecyclerView;
- import com.loopj.android.http.AsyncHttpClient;
- import com.loopj.android.http.AsyncHttpResponseHandler;
- import com.nurzainpradana.androidfundamental.submission3moviecatalogueapi.R;
- import org.json.JSONArray;
- import org.json.JSONObject;
- import java.util.ArrayList;
- import cz.msebera.android.httpclient.Header;
- public class MoviesFragment extends Fragment {
- private RecyclerView rvMovies;
- private ArrayList<Movie> listMovie = new ArrayList<>();
- private CardViewMovieAdapter adapter;
- private ProgressBar progressBar;
- private MovieViewModel movieViewModel;
- public View onCreateView(@NonNull LayoutInflater inflater,
- ViewGroup container, Bundle savedInstanceState) {
- View root = inflater.inflate(R.layout.fragment_movies, container, false);
- return root;
- }
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- progressBar = view.findViewById(R.id.progressBar);
- rvMovies = view.findViewById(R.id.rv_movies);
- rvMovies.setHasFixedSize(true);
- movieViewModel = new ViewModelProvider(this, new ViewModelProvider.NewInstanceFactory()).get(MovieViewModel.class);
- movieViewModel.getMovies().observe(this.getViewLifecycleOwner(), new Observer<ArrayList<Movie>>() {
- @Override
- public void onChanged(ArrayList<Movie> movies) {
- if (adapter != null) {
- adapter.setData(movies);
- showLoading(false);
- }
- }
- });
- showRecyclerCardView();
- }
- private void showRecyclerCardView() {
- rvMovies.setLayoutManager(new LinearLayoutManager(getContext()));
- final CardViewMovieAdapter cardViewMovieAdapter = new CardViewMovieAdapter(listMovie);
- rvMovies.setAdapter(cardViewMovieAdapter);
- cardViewMovieAdapter.setOnItemClickCallback(new CardViewMovieAdapter.OnItemClickCallback() {
- @Override
- public void onItemClicked(Movie data) {
- showSelectedMovie(data);
- Intent gotoDetailMovie = new Intent(getContext(), DetailMovieAct.class);
- Movie mMovie = new Movie();
- mMovie.setMovieTitle(data.getMovieTitle());
- mMovie.setMoviePoster(data.getMoviePoster());
- mMovie.setMovieYear(data.getMovieYear());
- mMovie.setMovieGenre(data.getMovieGenre());
- mMovie.setMovieDescription(data.getMovieDescription());
- gotoDetailMovie.putExtra(DetailMovieAct.EXTRA_MOVIE, mMovie);
- startActivity(gotoDetailMovie);
- }
- });
- }
- public void showSelectedMovie(Movie movie){
- Toast.makeText(getContext(), "Kamu memilih " + movie.getMovieTitle(), Toast.LENGTH_SHORT).show();
- }
- private void showLoading(Boolean state) {
- if(state) {
- progressBar.setVisibility(View.VISIBLE);
- } else {
- progressBar.setVisibility(View.GONE);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment