как управлять видимостью в Android?

#android #adapter #visible

#Android #адаптер #видимый

Вопрос:

как управлять видимостью в Android?

если пользователь не загружает фотографию, просмотр изображения исчезнет. Напротив, если пользователь загрузил фотографию, изображение будет видно.

итак, как я могу сделать?

это мой 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));
  

Мне нужно изменить код where?

Ответ №1:

На первом шаге необходимо проверить, имеет ли этот конкретный элемент pic или нет

    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)
        }
    }
    
  

Комментарии:

1. У меня другой вопрос. если(newFeedModel.getFeedGroupID() != «10»){ // держатель.group_check.setVisibility(Просмотр. ВИДИМЫЙ); holder.tv_uploader_group.setText(newFeedModel.getFeedGroupName()); }else{ //holder.group_check.setVisibility(View.GONE); holder.tv_uploader_group.setVisibility(View.GONE); } значения равны 10, но tv_uploader_group все еще отображается

2. У вопроса не может быть вопроса. Откройте новый вопрос и отметьте меня @Stanley

Ответ №2:

android:visibility="invisible" Команда управляет видимостью раздела imageview.

С помощью: imageview.setVisibility(View.visible); вы можете изменить видимость изображения.