Я хочу перейти к следующему действию, когда пользователь нажимает на itemView. Тем не менее, каждый раз, когда я нажимаю, он не показывает ошибку подключенного адаптера, и приложение вылетает. Я проверил, что он отправляет данные, но не переходит к следующему действию. Мой код ниже для класса Recycler_config. Может кто-нибудь помочь мне, я немного запутался
public class Recycler_config {
private Context mContext;
private BookAdapter mBookAdapter;
public void setConfig(RecyclerView recyclerView, Context context, List<Books> books, List<String> keys)
{
mContext = context;
mBookAdapter = new BookAdapter(books, keys);
recyclerView.setLayoutManager(new LinearLayoutManager(context));
recyclerView.setAdapter(mBookAdapter);
}
class BookItemView extends RecyclerView.ViewHolder {
private TextView mTitle, mAuthor, mISBN, mCategory;
private String key;
public BookItemView(@NonNull ViewGroup parent) {
super(LayoutInflater.from(mContext).inflate(R.layout.book_list_item, parent, false));
mTitle = itemView.findViewById(R.id.titles);
mAuthor = itemView.findViewById(R.id.author);
mCategory = itemView.findViewById(R.id.category);
mISBN = itemView.findViewById(R.id.isbn_edit);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, BookDetails.class);
intent.putExtra("key", key);
intent.putExtra("author", mAuthor.getText().toString());
intent.putExtra("title", mTitle.getText().toString());
intent.putExtra("isbn",mISBN.getText().toString());
intent.putExtra("category", mCategory.getText().toString());
mContext.startActivity(intent);
}
});
}
public void bind(Books book, String key) {
mTitle.setText(book.getTitle());
mAuthor.setText(book.getAuthor());
mCategory.setText(book.getCategory_name());
mISBN.setText(book.getIsbn());
this.key = key;
}
}
class BookAdapter extends RecyclerView.Adapter<BookItemView> {
private List<Books> mBookList;
private List<String> mKeys;
public BookAdapter(List<Books> mBookList, List<String> mKeys) {
this.mBookList = mBookList;
this.mKeys = mKeys;
}
@NonNull
@Override
public BookItemView onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new BookItemView(parent);
}
@Override
public void onBindViewHolder(@NonNull BookItemView holder, int position) {
holder.bind(mBookList.get(position), mKeys.get(position));
}
@Override
public int getItemCount() {
return mBookList.size();
}
}