send data from a fragment to an activity

1

I have a problem ... when I click on the item (which is inside a fragment) it directs me to an activity but I only get the data of the "title" ... the "image" and "place" comes out empty

 public void onStart() {
      super.onStart();
      options = new FirebaseRecyclerOptions.Builder<Model>()
            .setQuery(mRef, Model.class)
            .build();
      FirebaseRecyclerAdapter<Model,ofertasViewHolder> adapter =new 
    FirebaseRecyclerAdapter<Model, ofertasViewHolder>(options) {
        @Override
        protected void onBindViewHolder(@NonNull ofertasViewHolder holder, 
    int position, @NonNull Model model) {

            final String mImage = getItem(position).getImage();
            final String mTitle = getItem(position).getTitle();
            final String mLugar = getItem(position).getLugar();

            Picasso.get().load(mImage).into(holder.oImagenvw);
            holder.oTitletv.setText(mTitle);
            holder.oLugartv.setText(mLugar);

            holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(getActivity(),ejemplo_item_ofertas.class);
                    intent.putExtra("image", mImage);
                    intent.putExtra("title", mTitle);
                    intent.putExtra("image", mLugar);
                    startActivity(intent);
                }
            });
        }
        @NonNull
        @Override
        public ofertasViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
            View itemView = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.ejemplo_item2, viewGroup,false);
            return new ofertasViewHolder(itemView);
        }
    };
    mRecyclerView.setAdapter(adapter);
    adapter.startListening();
}
public static class ofertasViewHolder extends RecyclerView.ViewHolder {
    TextView oTitletv,oLugartv;
    ImageView oImagenvw;

    public ofertasViewHolder(@NonNull View itemView) {
        super(itemView);
        oImagenvw=itemView.findViewById(R.id.rImageView2);
        oTitletv= itemView.findViewById(R.id.rTitle2Tv);
        oLugartv= itemView.findViewById(R.id.rLugar2Tv);

here is where you get the data that is the activity

    TextView bTitletv,bLugartv;
    ImageView bImagevw;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ejemplo_item_ofertas);

    bImagevw=findViewById(R.id.dImagevw);
    bTitletv=findViewById(R.id.dTitletv);
    bLugartv=findViewById(R.id.dLugartv);

    String image=getIntent().getStringExtra("image");
    String title=getIntent().getStringExtra("title");
    String lugar=getIntent().getStringExtra("lugar");

    Picasso.get().load(image).into(bImagevw);
    bTitletv.setText(title);
    bLugartv.setText(lugar);
    
asked by renzofu 04.12.2018 в 04:01
source

1 answer

0

You are sending and receiving the values correctly.

There are two possible reasons for the problem:

The reason why you do not receive the values, is that the variables have no value when performing intent

Intent intent = new Intent(getActivity(),ejemplo_item_ofertas.class);
intent.putExtra("image", mImage);
intent.putExtra("title", mTitle);
intent.putExtra("image", mLugar);
startActivity(intent);

Or that actually this is not the Activity ejemplo_item_ofertas :

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ejemplo_item_ofertas);

    ...
    ...

    String image=getIntent().getStringExtra("image");
    String title=getIntent().getStringExtra("title");
    String lugar=getIntent().getStringExtra("lugar");
    ...
    ...
  }
    
answered by 04.12.2018 / 05:01
source