Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ExampleAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
- private List<HouseRent> mData;
- private Activity mContext;
- //interface for callback
- private OnItemClickListener mOnItemClickListener;
- public interface OnItemClickListener {
- void onItemClick(View view, HouseRent houseRent, int position);
- }
- public void setOnItemClickListener(final OnItemClickListener mItemClickListener) {
- this.mOnItemClickListener = mItemClickListener;
- }
- //interface code ends
- public ExampleAdapter(Activity context, List<HouseRent> data) {
- this.mData = data;
- this.mContext = context;
- }
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.house_rent_item, parent, false);
- return new HouseRentViewHolder(view);
- }
- @Override
- public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) {
- final HouseRent houseRent = mData.get(position);
- int viewType = holder.getItemViewType();
- if (viewType == HouseRent.HOUSE_RENT_TYPE) {
- HouseRentViewHolder houseRentViewHolder = (HouseRentViewHolder) holder;
- houseRentViewHolder.lyt_parent.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //pass onclick to interface
- mOnItemClickListener.onItemClick(v,houseRent,position);
- }
- });
- }
- }
- @Override
- public int getItemCount() {
- return mData.size();
- }
- // stores and recycles views as they are scrolled off screen
- public class HouseRentViewHolder extends RecyclerView.ViewHolder {
- ConstraintLayout lyt_parent;
- TextView txtInfo;
- HouseRentViewHolder(View itemView) {
- super(itemView);
- txtInfo = itemView.findViewById(R.id.txt_info);
- lyt_parent = itemView.findViewById(R.id.lyt_parent);
- }
- }
- HouseRent getItem(int id) {
- return mData.get(id);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement