Как отключить событие щелчка дочернего элемента, если элемент нажат в RecyclerView? - PullRequest
0 голосов
/ 01 апреля 2020

Я реализовал представление рециркулятора, где в каждой строке есть изображения. Теперь, когда я нажимаю на надутое изображение, оно открывает изображение. Мое требование - отключить щелчок по изображению, если мы щелкнем по строке элемента. Я реализовал;

@ Override publi c void onItemClick (View view, int position) {}

Но при нажатии на элемент, он также принимает щелчок раздутой карты и открывает изображение. При нажатии на элемент я хочу выполнить другую операцию.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020
View viewChild = yourRecyclerView.findViewHolderForItemId(yourAdapter.getItemId(position)).itemView;
viewChild.setEnabled(false);

Этот код решил мою проблему.

0 голосов
/ 01 апреля 2020

вы можете попробовать это в вашем адаптере

 @NonNull
    @Override
    public ItemsAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View itemView = LayoutInflater.from(viewGroup.getContext())
                .inflate(R.layout.item_recycler, viewGroup, false);
        return new ItemsAdapter.MyViewHolder(itemView);


    }


      @Override
        public void onBindViewHolder(@NonNull final ItemsAdapter.MyViewHolder myViewHolder, final int position) {

            myViewHolder.itemView .setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                myViewHolder.yourImage.setEnabled(false);
                 //rest of your code here

                }
            });

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...