2017-03-09 1 views
0

ImageViewに設定する画像があります。
画像がない場合は、ImageViewで追加された空白を削除したい場合があります。設定する画像がない場合は、ImageViewの高さを削除します。

if(post.getImageUrl()!=null || !post.getImageUrl().equals("")) { 
      Picasso.with(context).load(post.getImageUrl()).into(holder.imageView); 
     } 
     else{ 
      holder.imageView.setVisibility(View.GONE); 
     } 

私のxml

<ImageView 
       android:layout_width="match_parent" 
       android:layout_height="500dp" 
       android:scaleType="centerCrop" 
       android:padding="0dp" 
       android:id="@+id/imageViewHero" 
       android:adjustViewBounds="true"/> 

しかし、それは動作していない、空白はまだそこにあります。

答えて

1

ロジックを反転させます。画像をロードするためのピカソ状態でXML

android:visibility="gone" 

にGONE、VISIBLEを設定し、あるいは他

Picasso imgLoader = Picasso.with(context); 
String imgUrl = post.getImageUrl(); 
if(!TextUtils.isEmpty(imgUrl)) { 
    holder.imageView.setVisibility(View.VISIBLE); 
    imgLoader.load(imgUrl).into(holder.imageView); 
} 

を除去するために、可視、負荷Aセット

デフォルト、プレースホルダ画像

Picasso.with(context) 
    .load(post.getImageUrl()) 
    .placeholder(R.drawable.user_placeholder) // A default image 
    .error(R.drawable.user_placeholder_error) // An error image 
    .into(holder.imageView); 
+0

I 'これを試してみてください、ありがとう –

1

があなたのImageViewのXML内のゴーンにvisibiltyを設定し、このソリューションをお試しすること

android:visibility="gone" 

と内部ブロック

if(post.getImageUrl()!=null || !post.getImageUrl().equals("")) { 


holder.imageView.setVisibility(View.Visible); 
         Picasso.with(context).load(post.getImageUrl()).into(holder.imageView); 
        } 


     <ImageView 
        android:layout_width="match_parent" 
        android:layout_height="500dp" 
        android:scaleType="centerCrop" 
        android:padding="0dp" 
        android:visibility="gone" 
        android:id="@+id/imageViewHero" 
        android:adjustViewBounds="true"/> 
1

ベストアンサーにあれば、あなたのコード内でそれが表示されるように高さを設定することです0としてImageViewは:

imgDisplay.setImageBitmap(null); 
関連する問題