I'm trying to fetching datas with Retrofit with an adapter on a listview   viewholder.
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.ArrayList.size()' on a null object reference on ViewHolder adapter first line and ViewholderFragment listView.setAdapter line.
My codes below. I dont know what can ı do and where is the problem. 
Can anyone help me to overcome this issue?
ViewholderAdapter.java
public class ViewholderAdapter extends ArrayAdapter{
@Override
public  int getCount(){return items.size(); }   //java.lang.NullPointerException  
@Override
public Result getItem(int position){
    return items.get(position);
}
public long getItemId(int position){
    return position;
}
private class ViewHolder
{
     TextView movie_year;
     TextView movie_title;
     TextView movie_desc;
     ImageView movie_poster;
    public ViewHolder(View view)
    {
        movie_year =(TextView)view.findViewById(R.id.movie_year);
        movie_title =(TextView)view.findViewById(R.id.movie_title);
        movie_desc =(TextView) view.findViewById(R.id.movie_desc);
        movie_poster =(ImageView)view.findViewById(R.id.movie_poster);
    }
}
@Override
public View getView(int position,View convertview,ViewGroup parent)
{   View view=convertview;
    ViewHolder holder;
    if(view==null)
    {
        view=LayoutInflater.from(context).inflate(R.layout.viewholder_item,parent,false);
        holder=new ViewHolder(view);
        view.setTag(holder);
    }
    else
        {
            holder=(ViewHolder) view.getTag();
        }
        holder.movie_title.setText(items.get(position).getTitle());
    return view;
 }
}
ViewHolderFragment.Java
public ViewHolderFragment() {}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup fragmentContainer, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_view_holder, fragmentContainer, false);
    ButterKnife.bind(this, view);
    return view;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    ListView listView = (ListView) getActivity().findViewById(R.id.listView);
    listView.setAdapter(adapter);  //java.lang.NullPointerException: 
    adapter =  new ViewholderAdapter (getContext());
    movieService = MovieApi.getClient().create(MovieService.class);
    loadFirstPage();
}
private void loadFirstPage() {
    Log.d(TAG, "loadFirstPage: ");
    callTopRatedMoviesApi().enqueue(new Callback<TopRatedMovies>() {
        @Override
        public void onResponse(Call<TopRatedMovies> call, Response<TopRatedMovies> response) {
            List<Result> results = fetchResults(response);
     adapter.addAll(results);
        }
        @Override
        public void onFailure(Call<TopRatedMovies> call, Throwable t) {
            t.printStackTrace();
        }
    });
}
private List<Result> fetchResults(Response<TopRatedMovies> response) {
    TopRatedMovies topRatedMovies = response.body();
    return topRatedMovies.getResults();
}
private Call<TopRatedMovies> callTopRatedMoviesApi() {
    return movieService.getTopRatedMovies(
            getString(R.string.my_api_key),
            "en_US",
            currentPage
    );
 }
}
