预期在 onBindViewHolder 上找到数组类型?

Array Type expected found on onBindViewHolder?

我正在尝试使用 RecyclerView 显示一个左侧有图像、右侧有标题的列表。

通过 for 循环,我在 ArrayList

中添加了标题和图像
String[] mtitles = {"Title","Title","Title","Title","Title","Title","Title","Title","Title","Title"};
int[] mimages = {R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher};

 List<Feed> items = new ArrayList<Feed>();
    Feed feed = new Feed();
    for (int i=0;i<mtitles.length;i++)

    {
        feed.setImage(mimages[i]);
        feed.setTitle(mtitles[i]);
        items.add(feed);
    }

    adapter = new MyAdapter(items);

这是我的Feed.class

public class Feed {

    String title;
    int image;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getImage() {
        return image;
    }

    public void setImage(int image) {
        this.image = image;
    }
}

MyAdapter.class

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

    public List<Feed> items;

    public static class ViewHolder extends RecyclerView.ViewHolder
    {
        public ImageView icon;
        public TextView title;

        public ViewHolder(View v)
        {
            super(v);
            icon = (ImageView)v.findViewById(R.id.imageView);
            title = (TextView)v.findViewById(R.id.textView);


        }

    }


    public MyAdapter(List<Feed> items)
    {
        this.items=items;
    }

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

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.row_layout,parent,false);
        ViewHolder vh = new ViewHolder(v);
        return vh;

    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {

        holder.icon.setImageResource(items[position]); // Problem here

    }



    @Override
    public int getItemCount() {
        return items.size();
    }
}

这一行,

 holder.icon.setImageResource(items[position]);

我收到错误消息。

 Array type expected;found.

截图:

使用

holder.icon.setImageResource(items.get(position).getImage());

因为 itemsFeed class 个对象的 List 而不是 Array

[] 索引符号仅适用于数组。 Lists 有一个 get 方法:items.get(position)

像这样编辑:

public void onBindViewHolder(ViewHolder holder, int position) {

            tempValue=null; // this is an object of Feed class
            tempValue = ( Feed ) items.get( position );

    holder.icon.setImageResource(tempValue.getImage()); // try thishere

}