Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android删除图像视图中的背景属性_Android_Android Recyclerview_Android Imageview_Android Event_Android Background - Fatal编程技术网

Android删除图像视图中的背景属性

Android删除图像视图中的背景属性,android,android-recyclerview,android-imageview,android-event,android-background,Android,Android Recyclerview,Android Imageview,Android Event,Android Background,我在RecyclerView图像中添加了背景图像突出显示: 但当我单击图像时,也会显示上一个选定的图像高光。 如何解决这个问题。我的代码是 holder.colorImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { holder.colorImage.setBackgroundResource(0

我在RecyclerView图像中添加了背景图像突出显示:

但当我单击图像时,也会显示上一个选定的图像高光。 如何解决这个问题。我的代码是

holder.colorImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            holder.colorImage.setBackgroundResource(0);

            for (int i = 0; i < colorId.size(); i++) {

                holder.colorImage.setBackgroundResource(R.drawable.image_border);
            }
        }

    });
holder.colorImage.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
holder.colorImage.setBackgroundResource(0);
对于(int i=0;i
我从问题中得到的信息是,一次将显示选定的一幅图像。因此,通过将选定的图像位置保存为全局,并通知适配器,可以很容易地实现。下面是一个例子

 class LAdater extends RecyclerView.Adapter<LAdater.ViewHolder> {
    int selectedPosition;

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return new ViewHolder(LayoutInflater.from(MainActivity.this).inflate(R.layout.item_color, null));
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        if (position == selectedPosition) {
            holder.colorImage.setBackgroundResource(R.drawable.image_border);
        } else {
            holder.colorImage.setBackgroundResource(0);
        }
    }

    @Override
    public int getItemCount() {
        return 9;
    }

    class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
        ImageView colorImage;

        public ViewHolder(View itemView) {
            super(itemView);
            this.colorImage = (ImageView) itemView.findViewById(R.id.imageView);
            colorImage.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
            if (v.getId() == R.id.imageView) {
                selectedPosition = getAdapterPosition();
                notifyDataSetChanged();
            }
        }
    }
}
类LAdater扩展了RecyclerView.Adapter{ int-selectedPosition; @凌驾 public ViewHolder onCreateViewHolder(视图组父级,int-viewType){ 返回新的ViewHolder(LayoutInflater.from(MainActivity.this).充气(R.layout.item_color,null)); } @凌驾 公共无效onBindViewHolder(ViewHolder,int位置){ 如果(位置==selectedPosition){ holder.colorImage.setBackgroundResource(R.drawable.image_边框); }否则{ holder.colorImage.setBackgroundResource(0); } } @凌驾 public int getItemCount(){ 返回9; } 类ViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{ 图像视图彩色图像; 公共视图持有者(视图项视图){ 超级(项目视图); this.colorImage=(ImageView)itemView.findViewById(R.id.ImageView); colorImage.setOnClickListener(此); } @凌驾 公共void onClick(视图v){ if(v.getId()==R.id.imageView){ selectedPosition=getAdapterPosition(); notifyDataSetChanged(); } } } }
这只是一个示例,请根据需要修改它。

什么是colorId?@ADM这是包含颜色id的数组列表