对不清楚的问题抱歉。我是android和stackover flow的新手
我有一个适配器,其中包含来自服务器的图像和加载列表。 在图像的Onclick上,我需要打开另一个活动,显示点击项目的完整图像。 那时我需要将图片网址作为意图传递给下一个活动。 我需要帮助传递意图以及请澄清我是否可以安全地将图像URL从适配器传递到活动? 感谢您的帮助
我的适配器类
class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{
List<Upload> list_of_messages;
Context context;
Activity mActivity;
PhotoViewAttacher pAttacher;
public MyAdapter(Activity activity,List<Upload> list_of_messages,Context context) {
this.mActivity = activity;
this.list_of_messages = list_of_messages;
this.context=context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_promise_list,parent,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final MyAdapter.ViewHolder holder, final int position) {
final Upload upload = list_of_messages.get(position);
holder.text_date.setText(upload.getName());
Glide.with(context).load(upload.getUrl()).into(holder.text_promise);
final AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
holder.text_promise.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(mActivity,ImageViewZoom.class);
intent.putExtra("image_url",upload.getUrl());
context.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return list_of_messages.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView text_date;
ImageView text_promise;
public ViewHolder(View itemView) {
super(itemView);
text_promise=itemView.findViewById(R.id.text_promise_text);
text_date=itemView.findViewById(R.id.text_promise_date);
}
}
public void onImageClicked(Activity a, String url) {
a.startActivity(new Intent(a, FullScreenImageActivity.class).putExtra("image_url", url));
a.overridePendingTransition(android.R.anim.fade_in, 1);
}
}
这里点击holder.text_promise(图片视图)我需要导航到ImageViewZoom活动,我需要从适配器加载图像。
我感到困惑并寻求帮助。
答案 0 :(得分:2)
我需要帮助传递意图
您可以将URI传递给ShowImage活动。在您用于启动活动的意图中:
Intent intent = new Intent(context, ShowImage.class);
intent.putExtra("URI", yourURI);
startActivity(intent);
访问下一个活动的意图
String s = getIntent().getStringExtra("URI");
实际上,这是实现同样目标的最佳方式。请澄清我的意图传递图像网址是否安全 适配器到活动?