Got the solution thanks to thomaspsk未能突破意图把额外的方法来发送URL
所以我从在线数据库的解析链接网址,并回收视图中显示它。我也希望通过Intent
的putExtra()
方法
我尝试了用
Bundle bundle = intent.putExtra("image_link",my_data.getImage_link());
发送这些网址,但它不工作
这里是一个完整的适配器代码。
另请检查我是否在正确的位置使用点击监听器。
我看到一些人在ViewHolder
下使用它。
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.content.Context;
import android.widget.ImageView;
import android.widget.TextView;
import android.view.LayoutInflater;
import java.util.List;
import com.bumptech.glide.Glide;
import android.view.View;
import android.view.ViewGroup;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private Context context;
private List<MyData> my_data;
public MyAdapter(Context context, List<MyData> my_data) {
this.context = context;
this.my_data = my_data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_child, parent, false);
final ViewHolder holder = new ViewHolder(itemView);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = holder.getAdapterPosition();
Intent intent = new Intent(context, article.class);
Bundle bundle = intent.putExtra("image_link", my_data.getImage_link());
context.startActivity(intent);
}
});
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.description.setText(my_data.get(position).getDescription());
Glide.with(context).load(my_data.get(position).getImage_link()).into(holder.imageView);
}
@Override
public int getItemCount() {
return my_data.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView description;
public ImageView imageView;
public ViewHolder(View itemView) {
super(itemView);
description = (TextView) itemView.findViewById(R.id.textView);
imageView = (ImageView) itemView.findViewById(R.id.image);
}
}
}
只是一个猜测:也许你应该尝试存储“my_data.getImage_link()”的结果为一个字符串,然后你就可以“捆绑包= intent.putExtra(”图片链接”,my_data_string );” – ivanleoncz
你有什么错误? Imho,您需要使用Activity作为您的上下文调用startActivity。 –