网址为空时如何隐藏Imageview

问题描述

我使用Picasso Image loader从Firebase数据库URL获得Imageview的加载图像。我希望在Firebase数据库URL为空时隐藏imageview。当时如何设置Imageview setVisibility。

我的代码

        LoadData(categoryId);


}

    private void LoadData(String categoryId) {

        options = new FirebaseRecyclerOptions.Builder<TrollModel>().setQuery(MCC,TrollModel.class).build();
        adapter = new FirebaseRecyclerAdapter<TrollModel,TrollViewHolder>(options) {
            @Override
            protected void onBindViewHolder(@NonNull TrollViewHolder trollViewHolder,int i,@NonNull TrollModel trollModel) {

                trollViewHolder.thrillername.setText(trollModel.getTitle());
                Picasso.get().load(trollModel.getimage())
                        .into(trollViewHolder.thrillersimage);


                trollViewHolder.setItemClickListner(new ItemClickListner() {
                    @Override
                    public void onClick(View view,int position,boolean isLongClick) {

                Intent detailsIntent = new Intent(TrollActivity.this,TrollDetailActivity.class);
                detailsIntent.putExtra("CategoryId",adapter.getRef(position).getKey());
                startActivity(detailsIntent);


            }
                });

            }

            @NonNull
            @Override
            public TrollViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {

                View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.troll_items,parent,false);

                return new TrollViewHolder(v);
            }
        };

        adapter.startListening();
        recyclerView.setAdapter(adapter);

    }
}

解决方法

在Android中,每个setVisibility()都有View个功能。如果您以正确的方式在Google上搜索,就可以找到它。

请参考以下代码来解决您的问题。

if (trollModel.getImage().isEmpty()) {
   trollViewHolder.thrillersimage.setVisibility(View.GONE);
} else {
   trollViewHolder.thrillersimage.setVisibility(View.VISIBLE);
   Picasso.get().load(trollModel.getImage())
                        .into(trollViewHolder.thrillersimage);
}