【问题标题】:How to change ImageView inside viewholder without clicking it or changing all the ImageViews?如何在不单击或更改所有 ImageView 的情况下更改 Viewholder 内的 ImageView?
【发布时间】:2018-03-09 03:20:48
【问题描述】:

在特定的适配器中,我有最简单的 ViewHolder:

public class MyViewHolder extends RecyclerView.ViewHolder {

    ImageView image;

    public MyViewHolder(View itemView) {
        super(itemView);

        image = itemView.findViewById(R.id.image_id);

    }
}

和下面的onBindViewHolder:

@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {

    holder.imagem.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            holder.image.setImageBitmap(MY_BITMAP);
            notifyDataSetChanged();

        }
    });


}

我的目标:更改ImageView而不点击它。但是,如果放

holder.image.setImageBitmap(MY_BITMAP);

在 onClickListener 之外,它会更改我的 RecyclerView 中的所有图像。 如何在不单击图像且不更改 RecyclerView 的所有图像的情况下实现此目的?

PS:拍照活动关闭后,我的图像需要更改。

【问题讨论】:

    标签: android-studio onclicklistener android-viewholder setimagebitmap


    【解决方案1】:

    如果你想改变特定的位置,你可以使用'if语句'(示例位置1)

    if(position == 1){  holder.image.setImageBitmap(MY_BITMAP); }
    

    或者,如果您有位图列表,您可以通过(名为 listMyBitmap 的示例)填充它

    holder.image.setImageBitmap(listMyBitmap.get(position));
    

    【讨论】:

    • 在这种情况下,我只有一个 MY_BITMAP,所以第二种解决方案对我不起作用。所以,第一个解决方案,问题是我想在 if 语句中只输入我点击的位置,而不是预先确定的位置(如位置 == 1)。你明白吗? @Bona Kusuma
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多