Android 在CardView中设置ImageView
正如标题所说,我试图设置一个位于CardView中的ImageView的源。然而,我反复收到一个nullpointer异常,我不知道为什么。这就是我的适配器的外观: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
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);