I have problem passing context into recyclerview adapter, please see my code below. How should I make Toast work in Onclick?
I also have problem starting new activity from this Onclick
Intent intent = new Intent(context, Main2Activity.class);
startActivity(intent);
as startActivity is not recognized as method. Any suggestions please?
My code:
public class MoviesAdapter extends RecyclerView.Adapter {
private List<Movie> moviesList;
private static final String TAG = "MyTestAppState";
Context context;
public MoviesAdapter(Context context, List<Movie> moviesList) {
this.context = context;
this.moviesList = moviesList;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title, year, genre;
public MyViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.TXtitle);
genre = (TextView) view.findViewById(R.id.TXgenre);
year = (TextView) view.findViewById(R.id.TXyear);
}
}
public MoviesAdapter(List<Movie> moviesList) {
this.moviesList = moviesList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.movie_list_row, parent, false);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context,"Test", Toast.LENGTH_SHORT).show();
Log.v(TAG, "TEST");
}
});
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, final int position) {
Movie movie = moviesList.get(position);
holder.title.setText(movie.getTitle());
holder.genre.setText(movie.getGenre());
holder.year.setText(movie.getYear());
}
@Override
public int getItemCount() {return moviesList.size();
}
}