how to highlight the selected Item of Recycler View?

前端 未结 8 1325
执念已碎
执念已碎 2020-11-28 03:02

I have a Recycler View with the Images loaded from the Internal Storage. I want to Highlight the selected item when clicked. I tried a lot of thing but it was not working. A

8条回答
  •  长情又很酷
    2020-11-28 03:54

    This solution is more of an interactive look like the tableView in IOS. It'll highlight then unhighlight the cells.

    @Override
    public void onBindViewHolder(Cell holder, final int position) {
        if(requests != null) {
            holder.setView(requests.get(position), context);
    
            holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(final View v) {
                    Logs.print("In OnClickListener", position + " selected");
                }
            });
    
            holder.itemView.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    switch (event.getAction()) {
                        case MotionEvent.ACTION_DOWN:
                            Logs.print("In Touch Handler", "A press has started");
                            v.setSelected(true);
                            break;
                        case MotionEvent.ACTION_UP:
                            Logs.print("In Touch Handler", "A press has been completed");
                            v.setSelected(false);
                            break;
                        case MotionEvent.ACTION_CANCEL:
                            Logs.print("In Touch Handler", "gesture aborted");
                            v.setSelected(false);
                            break;
                    }
                    return true;
                }
            });
        }
    }
    

提交回复
热议问题