如何控制android中的可见性?

问题描述

如何在android中控制可见性?

如果用户上传照片,则ImageView将消失。相反,如果用户上传了照片,则ImageView将可见。

那我该怎么办?

这是我的xml代码

<LinearLayout
            android:id="@+id/infophoto"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <ImageView
                android:id="@+id/post_pic"
                android:layout_width="match_parent"
                android:layout_height="300dp"
                android:scaleType="centerCrop"
                android:src="@drawable/expic"
                android:transitionName="sharedView"
                android:visibility="invisible"
                />
        </LinearLayout>

这是我的适配器代码

public void onBindViewHolder(final ViewHolder holder,final int position) {
glide.load(newFeedModels.get(position).getFeedimageURL()).into(holder.uploader_pro_pic);
glide.load(newFeedModels.get(position).getFeedPostimageURL()).into(holder.post_pic);
}

class ViewHolder extends RecyclerView.ViewHolder{
post_pic = (ImageView) itemView.findViewById(R.id.post_pic);
}

这是家庭碎片代码

String TAG_FeedMediaPhoto_URL = "FeedPostPhoto";
newFeedModel.setFeedimageURL(json.getString(TAG_FeedMediaPhoto_URL));

我需要修改代码在哪里?

解决方法

android:visibility="invisible"命令控制imageview部分的可见性。

使用:imageview.setVisibility(View.visible);,您可以更改图像视图的可见性。

,

第一步是检查此特定商品是否带有图片

   public void onBindViewHolder(final ViewHolder holder,final int position) {
    
   
        
    if(!TextUtils.isEmpty(newFeedModels.get(position).getFeedPostImageURL())){
        holder.post_pic.setVisibility(View.VISIBLE)
        glide.load(newFeedModels.get(position).getFeedPostImageURL()).into(holder.post_pic);
        }else{
            holder.post_pic.setVisibility(View.GONE)
        }
    }