Nell'adapter :
public interface OnItemClick {
void OnRowClick(Wallbox entry);
}
devi mettere il codice dopo la definizione della classe :
public class wallboxadapter extends RecyclerView.Adapter<wallboxadapter.wallboxviewholder> {
QUI!
poi occorre definire il delegato che invia la chiamata
public class wallboxadapter extends RecyclerView.Adapter<wallboxadapter.wallboxviewholder> {
public interface OnItemClick {
void OnRowClick(Wallbox entry);
}
private List<Wallbox> elencobox;
private Context context;
public wallboxadapter.OnItemClick onclickdelegate;
^^^^^^^^^^^^^ QUESTO E' IL DELEGATO ^^^^^^^^^^^
a questo punto nel codice in base all'azione chiami il delegato che avviserà il delegante ...
@Override
public void onClick(View v) {
int itemPosition = getAdapterPosition();
Wallbox corrente = elencobox.get( itemPosition );
onclickdelegate.OnRowClick( corrente );
}
mi serviva sulla selezione di una riga della reciclerview, quindi ogni volta che premi su una riga passo il dato corrente ( una classe di oggetti )
il delegante invece va impostato in questo modo :
nella classe :
public class CLASSE extends ESTENSIONE implements wallboxadapter.OnItemClick
in questo caso inserendo il nome del delegato wallboxadapter.OnItemClick ti verrà chiesto di inserire il metodo @Override
poi da li hai la tua chiamata.
...
prima di utilizzarlo gli devi dire che lo vuoi utilizzare altrimenti non verrà mai chiamato:
wallboxadapterlista.onclickdelegate = this;
Buona giornata.