public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.CustomViewHolder> { private List<FeedItem> feedItemList; private Context mContext; public MyRecyclerAdapter(Context context, List<FeedItem> feedItemList) { this.feedItemList = feedItemList; this.mContext = context; } @Override public CustomViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row, null); CustomViewHolder viewHolder = new CustomViewHolder(view); return viewHolder; } @Override public void onBindViewHolder(CustomViewHolder customViewHolder, int i) { FeedItem feedItem = feedItemList.get(i); //Download image using picasso library Picasso.with(mContext).load(feedItem.getThumbnail()) .error(R.mipmap.ic_launcher) .placeholder(R.mipmap.ic_launcher) .into(customViewHolder.imageView); //Setting text view title customViewHolder.textView.setText(Html.fromHtml(feedItem.getTitle())); //Handle click event on both title and image click customViewHolder.textView.setOnClickListener(clickListener); customViewHolder.imageView.setOnClickListener(clickListener); customViewHolder.textView.setTag(customViewHolder); customViewHolder.imageView.setTag(customViewHolder); } View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View view) { CustomViewHolder holder = (CustomViewHolder) view.getTag(); int position = holder.getPosition(); FeedItem feedItem = feedItemList.get(position); Toast.makeText(mContext, feedItem.getTitle(), Toast.LENGTH_SHORT).show();//Webview Activity Here } }; @Override public int getItemCount() { return (null != feedItemList ? feedItemList.size() : 0); } public class CustomViewHolder extends RecyclerView.ViewHolder { protected ImageView imageView; protected TextView textView; public CustomViewHolder(View view) { super(view); this.imageView = (ImageView) view.findViewById(R.id.thumbnail); this.textView = (TextView) view.findViewById(R.id.title); } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)