I am trying to pass the Gson object to intent by using the below code and sen it to another activity for detail. I tried to use code from this instruction in comment, but still eror.. ( How to pass gson serialised object to Intent in android? )
This is my code:
public class CustomListAdapter extends ArrayAdapter<Beer> {
Context context;
int layoutResourceId;
public List<Beer> data = null;
public CustomListAdapter(Context context, int resource, List<Beer> objects) {
super(context, resource, objects);
this.context = context;
this.layoutResourceId = resource;
this.context = context;
this.data = objects;
}
static class DataHolder
{
ImageView ivBeer;
TextView tvBeerName;
TextView tvDescription;
TextView abv;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
DataHolder holder = null;
if (convertView == null)
{
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
convertView = inflater.inflate(layoutResourceId, parent,false);
holder = new DataHolder();
holder.ivBeer = (ImageView) convertView.findViewById(R.id.ivBeer);
holder.tvBeerName = (TextView) convertView.findViewById(R.id.tvBeerName);
holder.tvDescription = (TextView) convertView.findViewById(R.id.tvDescription);
holder.abv = (TextView) convertView.findViewById(R.id.abv);
convertView.setTag(holder);
}
else
{
holder = (DataHolder) convertView.getTag();
}
Beer beer=data.get(position);
holder.tvBeerName.setText(beer.name);
Picasso.with(context).load(beer.imageUrl).into(holder.ivBeer);
holder.tvDescription.setText(beer.description);
holder.abv.setText(beer.abv);
// this is the trouble part:
Gson gson = new Gson();
Intent intent = new Intent (CustomListAdapter.this, BeerDetailActivity.class);
intent.putExtra("obj", gson.toJson(data));
return convertView;
}
}