我按照教程做了一个应用程序。教程的创建者制作了一个“最近”行,其中包含您可以去的地方的照片。
代码是为了在每次点击照片时显示相同的“详细信息活动”。
问题:我已经为最近使用过的照片行中的每张照片创建了4个不同的活动,我想将每张照片链接到其活动。
the DetailsActivity that keeps on showingRecents-row
public class RecentsAdapter extends RecyclerView.Adapter<RecentsAdapter.RecentsViewHolder> {
Context context;
List<RecentsData> recentsDataList;
//the RecentsAdapter code:
public RecentsAdapter(Context context, List<RecentsData> recentsDataList) {
this.context = context;
this.recentsDataList = recentsDataList;
}
@NonNull
@Override
public RecentsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.recents_row_item, parent ,false);
return new RecentsViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull RecentsViewHolder holder, int position) {
holder.countryName.setText(recentsDataList.get(position).getCountryName());
holder.placeName.setText(recentsDataList.get(position).getPlaceName());
holder.price.setText(recentsDataList.get(position).getPrice());
holder.placeImage.setImageResource(recentsDataList.get(position).getImageUrl());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(context, DetailsActivity.class);
context.startActivity(i);
}
});
}
@Override
public int getItemCount() {
return recentsDataList.size();
}
public static final class RecentsViewHolder extends RecyclerView.ViewHolder {
ImageView placeImage;
TextView placeName,countryName,price;
public RecentsViewHolder(@NonNull View itemView) {
super(itemView);
placeImage = itemView.findViewById(R.id.place_image);
placeName = itemView.findViewById(R.id.place_name);
countryName = itemView.findViewById(R.id.country_name);
price = itemView.findViewById(R.id.price);
}
}
}
2条答案
按热度按时间tf7tbtn21#
在单击侦听器中传递额外参数:
在DetailsActivity.onCreate()中:
e1xvtsh32#
如果要使用Intent来传达消息。您可以使用
intent.putExtra()
如果要传递一个bundle,可以使用
intent.putExtras()