Salve, ho una ListView che viene popolata dopo una ricerca. I dati vengono prelevati da un DB Mysql.
Vorrei che cliccando su ogni Item si aprisse l'activity inerente all'item cliccato con tutti i dati.
Questo è il codice AdapterFish.java
codice:
public class AdapterFish extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private LayoutInflater inflater;
List<DataFish> data= Collections.emptyList();
DataFish current;
// create constructor to initialize context and data sent from MainActivity
public AdapterFish(Context context, List<DataFish> data){
this.context=context;
inflater= LayoutInflater.from(context);
this.data=data;
}
// Inflate the layout when ViewHolder created
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=inflater.inflate(R.layout.container_fish, parent,false);
MyHolder holder=new MyHolder(view);
return holder;
}
// Bind data
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
// Get current position of item in RecyclerView to bind data and assign values from list
MyHolder myHolder= (MyHolder) holder;
DataFish current=data.get(position);
myHolder.textId.setText(current.id);
myHolder.textCognome.setText(current.Cognome);
myHolder.textNome.setText(current.Nome);
myHolder.textPaese.setText(current.paese);
myHolder.textPaese.setTextColor(ContextCompat.getColor(context, R.color.colorAccent));
myHolder.textSesso.setText(current.sesso);
myHolder.textProfessione.setText(current.professione);
myHolder.textZodiacale.setText(current.zodiacale);
}
// return total item from List
@Override
public int getItemCount() {
return data.size();
}
class MyHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
TextView textId;
ImageView ivImg;
TextView textCognome;
TextView textNome;
TextView textPaese;
TextView textSesso;
TextView textProfessione;
TextView textZodiacale;
// create constructor to get widget reference
public MyHolder(View itemView) {
super(itemView);
itemView.setOnClickListener(this);
textId= (TextView) itemView.findViewById(R.id.textId);
ivImg= (ImageView) itemView.findViewById(R.id.ivImg);
textCognome= (TextView) itemView.findViewById(R.id.textCognome);
textNome = (TextView) itemView.findViewById(R.id.textNome);
textPaese = (TextView) itemView.findViewById(R.id.textPaese);
textSesso = (TextView) itemView.findViewById(R.id.textSesso);
textProfessione = (TextView) itemView.findViewById(R.id.textProfessione);
textZodiacale = (TextView) itemView.findViewById(R.id.textZodiacale);
}
// Click event for all items
@Override
public void onClick(View v) {
Toast.makeText(context, "You clicked an item", Toast.LENGTH_SHORT).show();
}
}
}
adesso se clicco su un item mi visualizza un Toas "You clicked an item".
Mi deve reindirizzare ad una nuova activity inviando come parametro l'id dell'item cliccato.
Come posso fare?
Grazie