Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fragment/OneFragment
- package info.androidboss.retrofit.fragment;
- import android.content.Context;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v7.widget.DefaultItemAnimator;
- import android.support.v7.widget.DividerItemDecoration;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Toast;
- import java.util.ArrayList;
- import java.util.List;
- import info.androidboss.retrofit.model.Movie;
- import info.androidboss.retrofit.adapter.MovieAdapter;
- import info.androidboss.retrofit.R;
- import info.androidboss.retrofit.utils.RetroFitApiClient;
- import info.androidboss.retrofit.appinterface.RetroFitApiInterface;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- public class OneFragment extends Fragment {
- MovieAdapter movieAdapter;
- RecyclerView recyclerView;
- List<Movie> movieList = new ArrayList<Movie>();
- private OnFragmentInteractionListener listener;
- public static OneFragment newInstance() {
- return new OneFragment();
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_one, container, false);
- recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
- movieAdapter = new MovieAdapter(movieList, getActivity());
- RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
- recyclerView.setLayoutManager(mLayoutManager);
- recyclerView.setItemAnimator(new DefaultItemAnimator());
- recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
- recyclerView.setAdapter(movieAdapter);
- getMovieList();
- return view;
- }
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- if (context instanceof OnFragmentInteractionListener) {
- listener = (OnFragmentInteractionListener) context;
- } else {
- throw new RuntimeException(context.toString()
- + " must implement OnFragmentInteractionListener");
- }
- }
- @Override
- public void onDetach() {
- super.onDetach();
- listener = null;
- }
- public void getMovieList() {
- RetroFitApiInterface apiInterface = RetroFitApiClient.getClient().create(RetroFitApiInterface.class);
- Call<List<Movie>> call = apiInterface.getMovie();
- call.enqueue(new Callback<List<Movie>>() {
- @Override
- public void onResponse(Call<List<Movie>> call, Response<List<Movie>> response) {
- if (response==null){
- Toast.makeText(getActivity(), "Somthing Went Wrong...!!", Toast.LENGTH_SHORT).show();
- }else{
- for (Movie movie:response.body()){
- movieList.add(movie);
- }
- Log.i("RESPONSE: ", ""+response.toString());
- }
- movieAdapter.notifyDataSetChanged();
- }
- @Override
- public void onFailure(Call<List<Movie>> call, Throwable t) {
- Toast.makeText(getActivity(), "Unable to fetch json: " + t.getMessage(), Toast.LENGTH_LONG).show();
- Log.e("ERROR: ", t.getMessage());
- }
- });
- }
- public interface OnFragmentInteractionListener {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement