@Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { int type = getItemViewType(position); if (type == ITEM_VIEW_TYPE_ITEM) { ItemHolder itemHolder = (ItemHolder) holder; View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View v) { onItemClickListener.onItemClicked(v, position); } }; itemHolder.btnExcuteBill.setOnClickListener(clickListener); itemHolder.vHistaskHeader.setOnClickListener(clickListener); LogisticItem logisticItem = mDataset.get(position); itemHolder.tvBillNum.setText(logisticItem.billNum); itemHolder.tvDriverName.setText(logisticItem.driverName); itemHolder.tvDriverPhone.setText(logisticItem.phone); if (logisticItem.delivery != null) { itemHolder.tvDeliveryman.setText(logisticItem.delivery.realname); itemHolder.tvDeliveryphone.setText(logisticItem.delivery.phone); } itemHolder.tvCreateTime.setText(logisticItem.create_time); itemHolder.tvLicenceplate.setText(logisticItem.licenceplate); itemHolder.tvComplatestatus.setText( String.valueOf(logisticItem.finishCount) + "/" + String.valueOf(logisticItem.orderCount)); if (isDetailViewVisible && mClickPosition == position) { itemHolder.vHistaskDetail.setVisibility(View.VISIBLE); itemHolder.ivHistaskUpdown.setBackground( ResourceHelper.getDrawable(R.drawable.ic_keyboard_arrow_up)); } else { itemHolder.vHistaskDetail.setVisibility(View.GONE); itemHolder.ivHistaskUpdown.setBackground( ResourceHelper.getDrawable(R.drawable.ic_keyboard_arrow_down)); } } }