从“ RecyclerView”获取图像资源

时间:2018-10-16 03:20:52

标签: android android-studio

我正在制作一个具有回收站视图的应用程序,用于显示酒店和餐馆。 哪个在容器上使用onClickListener。

 @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;
    }

这家酒店的背景是图像资源,我想将其显示在打算去的第二页上。但是它不会显示任何图像。这是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);

       }
    }

此处图像显示为空白任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

检查background是否为null,background为null则不加载图像,因此请检查background变量值。

答案 1 :(得分:0)

通过更改以下代码来解决我自己的答案

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

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

由于它在日志中返回null,谢谢大家