如何控制 android 中的可见性?

how to control visibility in 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);
}

这是 homefragment 代码。

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

我需要修改哪里的代码?

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

通过使用: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)
        }
    }