如何使用图像数组修复未在回收者视图上显示的图像?

时间:2017-10-14 11:34:09

标签: java android android-recyclerview

我在recyclerView上的数据片段上创建了arrays.xml,我遇到了一个问题,图片没有显示在我的recyclerView中。我认为这是一个片段问题,但我不确定。

这是我的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;
}

}

这是我的片段:

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);
        }

这是我的适配器:

@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());
}

2 个答案:

答案 0 :(得分:0)

您没有向我们展示适配器更新方法,但我只能猜测您在加载数据后忘记在适配器上使用notifyDataSetChange()方法。

答案 1 :(得分:0)

使用此行是因为您将图像数组放入了缩略图。

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