我有一个cardviews recyclerview,并且每个cardview有一个大拇指(like)按钮。在RecyclerView元素中处理OnClick项目?
我喜欢这样,当用户点击特定卡上的拇指按钮时,他们“喜欢”该帖子,按钮动画和适当的逻辑被处理。
这是到目前为止我的代码:
private class CardViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private CardView mCardView;
private TextView cardTitle, cardUsername;
private ImageView cardImage;
public CardViewHolder(View itemView){
super(itemView);
mCardView = (CardView) itemView.findViewById(R.id.cardview);
cardTitle = (TextView) itemView.findViewById(R.id.cardTitle);
cardUsername = (TextView) itemView.findViewById(R.id.cardUsername);
cardImage = (ImageView) itemView.findViewById(R.id.cardImage);
mLikeButton = (LikeButton) itemView.findViewById(R.id.thumb);
itemView.setOnClickListener(this);
mLikeButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId() == mLikeButton.getId()){
Toast.makeText(v.getContext(), "ITEM PRESSED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(v.getContext(), "ROW PRESSED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
Toast.makeText(v.getContext(), mRecipes[getAdapterPosition()].getRecipename().toString(), Toast.LENGTH_SHORT).show();
}
}
}
当用户点击等按钮,它会显示在祝酒正确的适配器的位置,但它并没有动画像它应该和我也没办法在其上设置动画。通常,按钮在单击时动画,但当它位于回收站视图内时,它似乎不起作用。
我试图做
(LikeButton) v.setLiked(true);
但剧组似乎没有工作。我希望能够获得对recyclerview特定行中特定按钮的直接引用,以便我可以调用它的方法。那可能吗?
这是在按钮上设置点击监听器的不好方法吗?
在onBindViewHolder方法中的单击监听器上设置。 –