Аргумент к конструктору (для которого вы в настоящее время передаете PupilGroupAdapter.this
) должен иметь тип Context
.Ваш адаптер не является Контекстом, поэтому он не работает.
Вы можете извлечь контекст из любого экземпляра View
с помощью метода getContext()
.В вашем случае вы пытаетесь показать диалоговое окно с предупреждением одним нажатием кнопки, чтобы вы могли использовать контекст представления, переданного прослушивателю щелчков:
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int i) {
// ...
viewHolder.btnAdd.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
showAlertDialog(view.getContext()); // pass the context here
}
} );
}
private void showAlertDialog(Context context) { // receive the context here
AlertDialog.Builder builder = new AlertDialog.Builder(context); // use the context here
}