RecyclerViewアダプタから別のアクティビティに画像を渡したい。 これは私のアダプタです:recyclerviewアダプタから別のアクティビティに画像を渡す方法
public class DataAdapter extends RecyclerView.Adapter<DataAdapter.ViewHolder> {
private Context context;
private ArrayList<Deatails> android;
public DataAdapter(Context context,ArrayList<Deatails> android) {
this.context = context;
this.android = android;
}
@Override
public DataAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_row, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(DataAdapter.ViewHolder viewHolder, final int i) {
viewHolder.tv_name.setText(android.get(i).getName());
viewHolder.tv_version.setText(android.get(i).getVer());
viewHolder.tv_api_level.setText(android.get(i).getApi());
Picasso.with(context).load("http://memaraneha.ir/Erfan/images/"+android.get(i).getPic()).resize(500,500)
.into(viewHolder.tv_image);
}
@Override
public int getItemCount() {
return android.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
private TextView tv_name,tv_version,tv_api_level;
private ImageView tv_image;
public ViewHolder(final View view) {
super(view);
tv_name = (TextView)view.findViewById(R.id.tv_name);
tv_version = (TextView)view.findViewById(R.id.tv_version);
tv_api_level = (TextView)view.findViewById(R.id.tv_api_level);
tv_image= (ImageView) view.findViewById(R.id.img);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle b = new Bundle();
Intent intent=new Intent(view.getContext(),Main2Activity.class);
String passingdata = tv_name.getText().toString();
b.putString("Key", passingdata);
intent.putExtras(b);
view.getContext().startActivity(intent);
}
});
}
}
}
これは私の別のアクティビティです:
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Bundle b = getIntent().getExtras();
String receivingdata = b.getString("Key");
TextView textView=(TextView)findViewById(R.id.tv_title);
textView.setText(receivingdata);
}
}
ので、私はview.setOnClickListener(new View.OnClickListener() {
セクション
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle b = new Bundle();
Intent intent=new Intent(view.getContext(),Main2Activity.class);
String passingdata = tv_name.getText().toString();
b.putString("Key", passingdata);
intent.putExtras(b);
view.getContext().startActivity(intent);
}
});
内のテキストを渡すと、このセクション
で別のアクティビティにそれをreciveBundle b = getIntent().getExtras();
String receivingdata = b.getString("Key");
TextView textView=(TextView)findViewById(R.id.tv_title);
textView.setText(receivingdata);
私は画像を渡すのと同じことをするが、仕事をしないために多くのことを試みます。 this linkは私の問題を重複しているようですが、私の場合はいくつかの違いがあり、混乱しています。いずれかが助けてくれる場合
どのようなエラーが発生していますか? – Meenal
@BIWそのクリア! onBindViewHolder with picasso library look – erfan