So wie der Titel sagt, ich versuche, die Quelle eines ImageView, das in einem CardView liegt, festzulegen. Allerdings erhalte ich wiederholt eine Nullpointer-Ausnahme und bin mir nicht sicher warum. Dies ist, was mein Adapter wie folgt aussieht:Einstellung von ImageView in CardView
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);
}
}
Vollfehlerprotokoll:
java.lang.IllegalArgumentException: Target must not be null.
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:618)
at com.squareup.picasso.RequestCreator.into(RequestCreator.java:601)
at com.example.jay.udacitypopularmovies.MovieAdapter.onBindViewHolder(MovieAdapter.java:49)
at com.example.jay.udacitypopularmovies.MovieAdapter.onBindViewHolder(MovieAdapter.java:21)
at com.example.jay.udacitypopularmovies.adapters.CursorRecyclerViewAdapter.onBindViewHolder(CursorRecyclerViewAdapter.java:80)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:5825)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:5858)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5094)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4970)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:541)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:578)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3315)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3124)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3568)
posten Sie Ihre vollständige Fehlerprotokoll –
Post das Layout – njzk2
In Ihrem MovieAdapter.java Linie 29 und Linie 41? –