![](/img/trans.png)
[英]How to open new Activity on item click with different data and photo in RecyclerView
[英]How to Get image to new Activity in Recyclerview item click method
我正在创建一个像 Activity 这样的新闻提要,其中图像从 firebase 检索到 Recyclerview 并使用 picasso 显示。 我需要在 Onclick 的新活动中打开相同的详细信息。 我在新的 Acvtivity 中收到短信。 但是我怎样才能使用 url 在那里获得图像。 请帮助编码。
我的主适配器
public class NoticeAdapter extends RecyclerView.Adapter<NoticeAdapter.Noticeviewholder> {
public List<Noticemodel> noticemodelList;
Notice notice;
public NoticeAdapter(List<Noticemodel> noticemodelList, Notice notice) {
this.noticemodelList = noticemodelList;
this.notice=notice;
}
@NonNull
@Override
public Noticeviewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater layoutInflater=LayoutInflater.from(parent.getContext());
View view=layoutInflater.inflate(R.layout.notice_item,null,false);
return new Noticeviewholder(view,notice,noticemodelList);
}
@Override
public void onBindViewHolder(@NonNull final Noticeviewholder noticeviewholder, final int position) {
noticeviewholder.ntitle.setText(noticemodelList.get(position).getTitle());
noticeviewholder.ndescription.setText(noticemodelList.get(position).getDescription());
Picasso.get().load(noticemodelList.get(position).getImage()).into(noticeviewholder.nimageview);
}
@Override
public int getItemCount() {
return noticemodelList.size();
}
public class Noticeviewholder extends RecyclerView.ViewHolder implements View.OnClickListener
{
TextView ntitle;
TextView ndescription;
ImageView nimageview;
Notice notice;
List<Noticemodel> noticemodelList;
public Noticeviewholder(View itemView, Notice notice, List<Noticemodel> noticemodelList) {
super(itemView);
this.notice=notice;
this.noticemodelList=noticemodelList;
itemView.setOnClickListener(this);
ntitle=itemView.findViewById(R.id.notTitle);
ndescription=itemView.findViewById(R.id.notDescription);
nimageview=itemView.findViewById(R.id.notImage);
}
@Override
public void onClick(View view) {
int position = getAdapterPosition();
Noticemodel noticemodel=this.noticemodelList.get(position);
Intent intent= new Intent(this.notice,Noticedetails.class);
intent.putExtra("title",noticemodelList.get(position).getTitle());
intent.putExtra("description",noticemodelList.get(position).getDescription());
intent.putExtra("image",noticemodelList.get(position).getImage());
this.notice.startActivity(intent);
}
}
}
新活动class
public class Noticedetails extends AppCompatActivity {
TextView ndTiltle,ndDescription;
ImageView ndImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_noticedetails);
ndTiltle= findViewById(R.id.ndTitle);
ndDescription= findViewById(R.id.ndDescription);
ndImage= findViewById(R.id.ndImage);
ndImage.setImageResource(getIntent().getIntExtra("image",00));
ndTiltle.setText(getIntent().getStringExtra("title"));
ndDescription.setText(getIntent().getStringExtra("description"));
}
}
在使用Picasso
的新活动集图像中
Picasso.get().load(getIntent().getStringExtra(“image”)).into(ndImage);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.