Android Studio Recycle View在onBindViewHolder方法中出错

时间:2015-09-05 03:05:19

标签: android android-studio material-design android-recyclerview

在我实施Android Studio中的回收视图教程后。

我使用的文件适配器文件:

package com.emilhamep.ilham_hp.diamondmaterial;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import java.util.Collections;
import java.util.List;


public class RecycleAdapter extends RecyclerView.Adapter<RecycleAdapter.MyViewHolder>{
private LayoutInflater inflater;
List<Information> data= Collections.emptyList();

public RecycleAdapter(Context context,List<Information> data){
    inflater=LayoutInflater.from(context);
    this.data=data;
}

@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view=inflater.inflate(R.layout.custom_row,parent,false);
    MyViewHolder holder = new MyViewHolder(view);
    return holder;
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    Information current=data.get(position);
    holder.title.setText(current.title);
    holder.icon.setImageResource(current.iconId);
}

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

class MyViewHolder extends RecyclerView.ViewHolder{
    TextView title;
    ImageView icon;
    public MyViewHolder(View itemView) {
        super(itemView);
        title= (TextView) itemView.findViewById(R.id.list_item);
        icon= (ImageView) itemView.findViewById(R.id.list_icon);
    }
}
}

我在方法onBindViewHoder中收到错误:

Adapter

有没有人在以前实施回收视图时遇到过与我类似的错误?

1 个答案:

答案 0 :(得分:0)

您有 NullPointerException ,因为holder.title null

检查您的custom_row.xml,您需要TextView list_item作为 id android:id="@+id/list_item")。

或者,使用list_item的正确 id 更改title= (TextView) itemView.findViewById(R.id.list_item);中的TextView(如果已有)。