Android 在CardView中设置ImageView

Android 在CardView中设置ImageView,android,picasso,android-cardview,Android,Picasso,Android Cardview,正如标题所说,我试图设置一个位于CardView中的ImageView的源。然而,我反复收到一个nullpointer异常,我不知道为什么。这就是我的适配器的外观: public class MovieAdapter extends CursorRecyclerViewAdapter<MovieAdapter.ViewHolder>{ public MovieAdapter(Context context, Cursor cursor) { super(context, c

正如标题所说,我试图设置一个位于CardView中的ImageView的源。然而,我反复收到一个nullpointer异常,我不知道为什么。这就是我的适配器的外观:

public class MovieAdapter extends CursorRecyclerViewAdapter<MovieAdapter.ViewHolder>{

public MovieAdapter(Context context, Cursor cursor) {
    super(context, cursor);
}


public static class ViewHolder extends RecyclerView.ViewHolder{
    public CardView poster;
    public ImageView poster_movie;
    public ViewHolder(View view){
        super(view);
        poster = (CardView) view.findViewById(R.id.card_movie);
        poster_movie = (ImageView) view.findViewById(R.id.card_movie_poster);
    }
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater
            .from(parent.getContext()).inflate(R.layout.row, parent, false);
    ViewHolder viewHolder = new ViewHolder(itemView);
    return viewHolder;
}

@Override
public void onBindViewHolder(ViewHolder viewHolder, Cursor cursor) {
    String posterPath = cursor.getString(cursor.getColumnIndexOrThrow("posterPath"));
    Picasso.with(super.getContext()).load("http://image.tmdb.org/t/p/w185//"+ posterPath).into(viewHolder.poster_movie);
}
}

您必须确保将正确的id传递给此处的ImageView

poster_movie = (ImageView) view.findViewById(R.id.card_movie_poster);
或者您正在此处放大正确的布局文件

View itemView = LayoutInflater
        .from(parent.getContext()).inflate(R.layout.row, parent, false);

发布完整的错误日志在MovieAdapter.java第29行和第41行发布布局?这些行的错误天哪,我是个白痴。我刚意识到我没有夸大正确的观点。这确实发生了。如果答案对你有帮助,请标出
View itemView = LayoutInflater
        .from(parent.getContext()).inflate(R.layout.row, parent, false);