0

どこが間違っているのかわかりません。ピカソから画像をロードしたい。私はタブのいずれかでrecycleviewを実装しています。ImageViewがポピュレートされず、タブレイアウトでcardviewを実装しようとしているのはなぜですか?

は、ここに私のrecycleviewアダプターのコードです:

public class TrailerRecyclerViewAdapter extends RecyclerView.Adapter<TrailerRecyclerViewAdapter.ViewHolder> { 


private List<MovieTrailer> data; 
private Context context; 
private static final String preImgUrl = "http://img.youtube.com/vi/"; 


public TrailerRecyclerViewAdapter(List<MovieTrailer> list, Context context) { 
    this.data = list; 
    this.context = context; 
} 

@Override 
public TrailerRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 

    View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.trailer_card, parent, false); 

    ViewHolder viewHolder = new ViewHolder(v); 

    return viewHolder; 
} 

@Override 
public void onBindViewHolder(TrailerRecyclerViewAdapter.ViewHolder holder, int position) { 
    Log.i("adapter", preImgUrl + data.get(position).getKey() + "/0.jpg"); 
    /*Picasso.with(context).load(preImgUrl + data.get(position).getKey() + "/0.jpg"). 
      placeholder(R.mipmap.ic_launcher). 
      error(R.mipmap.ic_launcher). 
      into(holder.trailer_thumbnail);*/ 
    holder.trailer_thumbnail.setImageResource(R.mipmap.ic_launcher); 
} 

@Override 
public int getItemCount() { 
    return 0; 
} 

public class ViewHolder extends RecyclerView.ViewHolder{ 

    ImageView trailer_thumbnail; 

    public ViewHolder(View itemview){ 
     super(itemview); 
     trailer_thumbnail = (ImageView) itemview.findViewById(R.id.trailer_thumbnail); 
    } 
} 

は私がダウンロードした画像の代わりに重複した画像をロードしようとしましたが、あまり機能していないこと。ここで

は私のタブのフラグメントのコードは、私がデータを取得した後onResponseにアダプタとセットアダプタを作成しようとしていますが、私は私が間違っているつもり場所を把握することができません

public class Tab3Fragment extends Fragment { 

private ImageView trailer_thumbnail; 
private static List<MovieTrailer> movieTrailerList; 
private static final String preImgUrl = "http://img.youtube.com/vi/"; 
private ProgressDialog mProgressDialog; 
private static RecyclerView recyclerView; 
private static RecyclerView.Adapter adapter; 
private static RecyclerView.LayoutManager layoutManager; 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.tab3_fragment, container, false); 
    recyclerView = (RecyclerView) rootView.findViewById(R.id.trailer_recycleview); 

    layoutManager = new LinearLayoutManager(getActivity()); 
    recyclerView.setLayoutManager(layoutManager); 


    updateTrailer(); 

    return rootView; 
} 

@Override 
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
} 

private void updateTrailer(){ 
    mProgressDialog = new ProgressDialog(getContext()); 
    mProgressDialog.setIndeterminate(true); 
    mProgressDialog.setMessage("Loading..."); 
    mProgressDialog.show(); 
    Retrofit retrofit = new Retrofit.Builder(). 
      baseUrl(MainActivity.baseUrl). 
      addConverterFactory(GsonConverterFactory.create()). 
      build(); 

    final RequestInterface requestInterface = retrofit.create(RequestInterface.class); 

    Call<MovieTrailerResponse> call1 = requestInterface.getMovieTrailers(list.get(index).getId(), MainActivity.apiKEy); 

    call1.enqueue(new Callback<MovieTrailerResponse>() { 
     @Override 
     public void onResponse(Call<MovieTrailerResponse> call, Response<MovieTrailerResponse> response) { 

      movieTrailerList = response.body().getResults(); 
      Log.i("trailer", preImgUrl + movieTrailerList.get(0).getKey() + "/.jpg"); 
      adapter = new TrailerRecyclerViewAdapter(movieTrailerList, getContext()); 
      recyclerView.setAdapter(adapter); 
      /* 
      Picasso.with(getActivity()).load(preImgUrl + movieTrailerList.get(0).getKey() + "/0.jpg"). 
         placeholder(R.mipmap.ic_launcher). 
         error(R.mipmap.ic_launcher). 
         into(trailer_thumbnail);*/ 


      if (mProgressDialog.isShowing()) 
       mProgressDialog.dismiss(); 
     } 

     @Override 
     public void onFailure(Call<MovieTrailerResponse> call, Throwable t) { 
      if (mProgressDialog.isShowing()) 
       mProgressDialog.dismiss(); 
     } 
    }); 

} 

}

です?

答えて

1

あなたのアダプタのgetItemCount()メソッドで0が返されていると思います。試してください:

public int getItemCount() { 
    return movieTrailerList.size(); 
}