¿Cómo puedo crear una Alerta de cuadros de diálogo en una clase RecyclerView.Adapter

Rosheed Ajayi:

HoAlertDialogBuilder en mi clase RecylerView.Adapater me sale un error que dice "en el constructor no puede a la clase com.example.john.atsnotify.Adapter.PupilGroupAdapter"

i puede crear fácilmente una alerta de diálogo Generador en una clase de actividad regular que se extiende AppCompatActivity pero no en una clase adaptador. ¿por qué?

https://pastebin.com/WqXCG1ChAlertDialog.Builder builder = new AlertDialog.Builder(PupilGroupAdapter.this);

P. I:

El argumento del constructor (para el que está pasando actualmente PupilGroupAdapter.this) debe ser del tipo Context. El adaptador no es un contexto, por lo que este está fallando.

Puede recuperar un contexto de cualquier Viewinstancia a través del getContext()método. En su caso, usted está tratando de mostrar el cuadro de diálogo de alerta de un clic de botón, para que pueda utilizar el contexto de la vista se pasa al detector de clics:

@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
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=236984&siteId=1
Recomendado
Clasificación