Estoy creando una aplicación que tiene una vista de reciclador para mostrar hoteles y restaurantes. Que usa onClickListener en el contenedor.

 @NonNull
    @Override
    public myViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {


        LayoutInflater inflater = LayoutInflater.from(mContext);
        View v = inflater.inflate(R.layout.card_item,viewGroup,false);
        final myViewHolder viewHolder = new myViewHolder(v);
        viewHolder.view_container.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(mContext,hotel_main.class);
                intent.putExtra("hotel_name_title",mData.get(viewHolder.getAdapterPosition()).getHotelName());
                intent.putExtra("hotel_des_location",mData.get(viewHolder.getAdapterPosition()).getDeslocation());
                intent.putExtra("hotel_background_img",mData.get(i).getBackground());


                mContext.startActivity(intent);

            }
        });
        return viewHolder;
    }

Aquí, el fondo del hotel es un recurso de imagen y quiero mostrarlo en la segunda página a la que tengo la intención de ir. Pero no muestra ninguna imagen. Este es el código de la actividad hotel_main.

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.hotel_main);

        //Receive data

        String title = getIntent().getExtras().getString("hotel_name_title");
        String location = getIntent().getExtras().getString("hotel_des_location");
        String background = getIntent().getExtras().getString("hotel_background_img");



        //init views
        CollapsingToolbarLayout collapsingToolbarLayout = findViewById(R.id.collapsingtoolbar_id);
        collapsingToolbarLayout.setTitleEnabled(true);

        TextView tv_title = findViewById(R.id.hotelmain_title_page);
        TextView tv_location = findViewById(R.id.hotelmain_card_nb_des);
        ImageView iv_background = findViewById(R.id.hotelmain_card_background);

        //setting values to each view
        tv_title.setText(title);
        tv_location.setText(location);

        Glide.with(this).load(background).into(iv_background);

       }
    }

Aquí la imagen se muestra en blanco, ¿alguien puede ayudar?

0
Kaustubh Gurudatt Kamat 16 oct. 2018 a las 06:20

2 respuestas

La mejor respuesta

Resolví mi propia respuesta cambiando el código de

String background = getIntent().getExtras().getString("hotel_background_img");

Para

int background = getIntent().getExtras().getInt("hotel_background_img");

Ya que devolvía nulo en el registro, gracias chicos

0
Kaustubh Gurudatt Kamat 16 oct. 2018 a las 04:38

Verifique que el fondo sea nulo o no, el fondo sea nulo y luego la imagen no se cargue, así que verifique el valor de la variable de fondo.

1
chetan mahajan 16 oct. 2018 a las 03:36