Я создал адаптер RecyClerview, который выглядит следующим образом:

enter image description here

Я добавил в адаптер onClick, который работает при нажатии каждой строки.

holder.itemView.setOnClickListener( new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(mView.getContext(), "person + " + position, Toast.LENGTH_LONG).show();
    }
} );

Однако единственная кнопка, которую мне действительно нужно, это "chat" Imagebutton. Мне понравилось, только когда пользователь нажимает на кнопку чата, он будет знать, какая строка адаптера нажала и на основе его создаст действие.

Есть ли способ реализовать вызов адаптера onClick, когда я действительно нажимаю кнопку? Или, более конкретно, есть ли способ передать chatButton.onClick позицию строки, в которой он находится?

Потому что я не хочу, чтобы весь ряд был кликабельным, только кнопка чата.

Спасибо

0
Ben 9 Окт 2019 в 20:54

1 ответ

Лучший ответ

Использовать так:

holder.itemView.chatView.setOnClickListener( new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(mView.getContext(), "person + " + position, Toast.LENGTH_LONG).show();
    }
} );
1
Md. Asaduzzaman 9 Окт 2019 в 18:22