2017-10-14 3 views
0

J'ai créé recyclerView sur le fragment avec des données sur arrays.xml et j'ai un problème, l'image ne montre pas dans mon recyclerView. Je pense que c'est un problème en fragment mais je ne suis pas sûr.Comment réparer une image qui ne s'affiche pas dans la vue recycleur à l'aide d'une matrice d'images?

Ceci est mon distroData.java

private final String mTitle; 
private final String mDescription; 
private final String mWeb; 
private final int mThumbnail; 

public DistroData (String title, String description, String web, int thumbnail){ 
    mTitle = title; 
    mDescription = description; 
    mWeb = web; 
    mThumbnail = thumbnail; 
} 

public String getWeb(){ 
    return mWeb; 
} 

public int getThumbnail(){ 
    return mThumbnail; 
} 

public String getTitle(){ 
    return mTitle; 
} 

public String getDescription(){ 
    return mDescription; 
} 

}

et ceci est mon fragment:

private void getDatas(){ 
    mGetDatas = new AsyncTask<Void, Void, Boolean>(){ 
     List<PerintahLinuxData> datas; 
     String[] titles; 
     String[] descriptions; 
     int[] thumbnails; 

     @Override 
     public void onPreExecute(){ 
      super.onPreExecute(); 
      datas = new ArrayList<>(); 
      titles = getActivity().getResources().getStringArray(R.array.p_title); 
      descriptions = getActivity().getResources().getStringArray(R.array.p_desc); 
      thumbnails = getActivity().getResources().getIntArray(R.array.p_thumbnail); 
     } 

et ceci est mon adaptateur:

@Override 
public void onBindViewHolder(ViewHolder holder, int position) { 
    holder.title.setText(mDatas.get(position).getTitle()); 
    holder.description.setText(mDatas.get(position).getDescription()); 
    holder.thumbnail.setImageResource(mDatas.get(position).getThumbnail()); 
} 

Répondre

0

Vous n'avez pas montrez-nous un dapter la méthode de mise à jour mais je ne peux que deviner que vous avez oublié d'utiliser la méthode notifyDataSetChange() sur votre carte après chargement des données.

0

utilisez cette ligne car vous l'avez mise en image dans la vignette.

holder.thumbnail.setImageResource(thumbnails.get(position).getThumbnail());