I'm trying to pass the data between this RecyclerAdapter
to DetailsActivity which is when the user clicked on each item, get the item position
and then for example get the title from recyclerView
and show it into MainRecyclerDetails
TextView
, and here is my try:
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.FeedListRowHolder> {
private List<FeedItem> feedItemList;
private Context mContext;
public MyRecyclerAdapter(Context context, List<FeedItem> feedItemList) {
this.feedItemList = feedItemList;
this.mContext = context;
}
@Override
public FeedListRowHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row, null);
return new FeedListRowHolder(v);
}
@Override
public void onBindViewHolder(FeedListRowHolder feedListRowHolder, int i) {
FeedItem feedItem = feedItemList.get(i);
Picasso.with(mContext).load(feedItem.getThumbnail())
.error(R.drawable.placeholder)
.placeholder(R.drawable.placeholder)
.into(feedListRowHolder.thumbnail);
feedListRowHolder.title.setText(Html.fromHtml(feedItem.getTitle()));
feedListRowHolder.date.setText(Html.fromHtml(feedItem.getDate()));
feedListRowHolder.tags.setText(Html.fromHtml(feedItem.getTags()));
feedListRowHolder.thumbnail.setOnClickListener(clickListener);
feedListRowHolder.title.setOnClickListener(clickListener);
feedListRowHolder.date.setOnClickListener(clickListener);
feedListRowHolder.tags.setOnClickListener(clickListener);
feedListRowHolder.thumbnail.setTag(feedListRowHolder);
feedListRowHolder.title.setTag(feedListRowHolder);
feedListRowHolder.date.setTag(feedListRowHolder);
feedListRowHolder.tags.setTag(feedListRowHolder);
}
@Override
public int getItemCount() {
return (null != feedItemList ? feedItemList.size() : 0);
}
View.OnClickListener clickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
FeedListRowHolder holder = (FeedListRowHolder) view.getTag();
int position = holder.getAdapterPosition();
FeedItem feedItem = feedItemList.get(position);
Toast.makeText(mContext, feedItem.getTitle(), Toast.LENGTH_SHORT).show();
Intent i = new Intent(mContext, MainRecyclerDetails.class);
String getrec = feedItem.getTitle();
Bundle bundle = new Bundle();
bundle.putString("title", getrec);
i.putExtras(bundle);
startActivity(i);
}
};
class FeedListRowHolder extends RecyclerView.ViewHolder {
protected ImageView thumbnail;
protected TextView title;
protected TextView date;
protected TextView tags;
public FeedListRowHolder(View view) {
super(view);
this.thumbnail = (ImageView) view.findViewById(R.id.thumbnail);
this.title = (TextView) view.findViewById(R.id.title);
this.date = (TextView) view.findViewById(R.id.date);
this.tags = (TextView) view.findViewById(R.id.tagsItems);
}
}
}
for getting it in DetailsActivity
:
Bundle bundle = getIntent().getExtras();
String title = bundle.getString("title");
But, it's not working.
What am i doing wrong with this?
Cheers!