Bir RecyclerView.ViewHolder ve RecyclerView.Adapter ürününe sahibim, öğeyi tıkladıktan sonra ihtiyacım var ve daha sonra bu öğe hakkında bilgi göndermek için başka bir Activity
.onClickListener in RecyclerView.ViewHolder
"intent.putExtra(PlacesDetail.PLACES_NAME,);"
nasıl adını gönderebilirsiniz Bu satırda
PlacesAdapter.java
public class PlacesAdapter extends RecyclerView.Adapter<PlacesViewHolder> {
private PlacesActivity placesActivity;
Context context;
private int position;
List<Places> places;
public PlacesAdapter(List<Places> places) {
this.places = places;}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public PlacesViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.places_view, viewGroup, false);
PlacesViewHolder pvh = new PlacesViewHolder(v);
return pvh;
}
@Override
public void onBindViewHolder(PlacesViewHolder personViewHolder, int i) {
personViewHolder.name.setText(places.get(i).name);
personViewHolder.address.setText(places.get(i).address);
Picasso.with(personViewHolder.itemView.getContext())
.load(places.get(i).photo)
.into(personViewHolder.getPhoto());
}
@Override
public int getItemCount() {
return places.size();
}
}
PlacesViewHolder.java?
public class PlacesViewHolder extends RecyclerView.ViewHolder {
CardView cv;
public TextView name;
public TextView address;
public ImageView photo;
public PlacesViewHolder(final View itemView) {
super(itemView);
cv = (CardView)itemView.findViewById(R.id.cv);
name = (TextView)itemView.findViewById(R.id.person_name);
address = (TextView)itemView.findViewById(R.id.person_age);
photo = (ImageView)itemView.findViewById(R.id.person_photo);
itemView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Context context = v.getContext();
Intent intent = new Intent(context, PlacesDetail.class);
intent.putExtra(PlacesDetail.PLACES_NAME,);
context.startActivity(intent);
}
});
}
public TextView getAddress() {
return address;
}
public TextView getName() {
return name;
}
public ImageView getPhoto() {
return photo;
}
}
Basitçe söylemek gerekirse 'yer için bu eklemek yeni bir sınıf ve bu kodu oluşturun doğru benimle iştir Görüntüleyici alanına alan olarak öğe. –
Başka bir yol, öğenin görüntülendiği konumdan öğe konumuna getirilir ve yerlerden öğe alır –
kart görünümünü kullanın ve ardından cardView.setOnClickListener (yeni Görünüm) değerini alın.OnClickListener() ve değerlerini paylaşın veya istediğiniz herhangi bir şeye göre iletin –