Я думаю, вы сможете обработать его, создав слушателя, и обработать вызов с ним:
public interface clickListenerItem {
void onItemClick(Item element);
}
добавьте этот интерфейс в ваш adapter
и в ваш main
.
Добавление этой функции к вашему *nameclass*ViewHolder extends RecyclerView.ViewHolder
:
public void bind(final ItemName item, final clickListenerItem listener) {
itemView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
listener.onItemClick(item);
}
});
}
и добавление к вашему адаптеру переменных: private final clickListenerItem clickItem;
в вашем конструкторе: this.clickItem = clickItem;
ив onBindViewHolder
вашего вызова адаптера:
public void onBindViewHolder(final @NonNull ItemViewHolder holder, int position) {
holder.bind(list.get(position), clickItem);
}
теперь, когда инициализируете свой адаптер в основном, вы просто добавляете слушателя, добавляя его с помощью вызова, подобного этому:
adapter = new ItemAdapter(this, list, (new ItemAdapter.clickListenerItem(){
@Override public void onItemClick(Item thisItem) {
Toast.makeText(getApplicationContext(), "Loading Item...", Toast.LENGTH_LONG).show();
Intent viewElem = new Intent(getApplicationContext(), ViewItem.class);
startActivityForResult(viewElem ,codeForResult);
}
}));
Я надеюсьэто поможет вам, очевидно, вы можете изменить последнюю часть, чтобы не вызывать новое действие, а изменять то, что вы хотите видеть или делать со своим элементом.