2017-02-17 5 views
1

У меня проблема. Я загружаю изображение с url с помощью Glide, но мне нужно сделать валидацию, если URL-адрес логотипа равен NULL, затем возьмите другой URL-адрес, чтобы получить изображение, но это не так, т работает, и я не знаю, почемуGlide не загружает изображение с url

 @Override 
     public void onBindViewHolder(SearchHorizontalAdapter.ViewHolder holder, int position) { 

      holder.mTitle.setText(premiumsList.get(position).getName()); 

      if(premiumsList.get(position).getLogo_url_string()==null){ 
      Glide.with(this.activity).load(premiumsList.get(position).getUrl()).into(holder.mImg); 
       Log.d("",String.valueOf(premiumsList.get(position).getUrl())); 
      } 
else{ 
      Glide.with(this.activity).load(premiumsList.get(position).getLogo_url_string()).into(holder.mImg); 
    } 
     } 
+0

что this.activity? Если вы находитесь в действии, вы можете просто попробовать ActiivityName.this или если вы находитесь в фрагменте, просто попробуйте getActivity() –

+0

Невозможно предоставить любую форму вывода logcat, если возможно – imaadhrizni

+0

Это не имеет значения:/ –

ответ

0

EDIT: Пожалуйста, попробуйте это и обеспечивает трассировку стека, если это возможно

@Override 
public void onBindViewHolder(SearchHorizontalAdapter.ViewHolder holder, int position) { 

    holder.mTitle.setText(premiumsList.get(position).getName()); 

    if(premiumsList.get(position).getUrl()!=null){ 

     Glide.with(this.activity).load(premiumsList.get(position).getUrl()) 
      .listener(new RequestListener<String, GlideDrawable>() { 
      @Override 
      public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { 
       Log.e("IMAGE_EXCEPTION", "Exception " + e.toString()); 
       return false; 
      } 

      @Override 
      public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { 
       Log.d("Sometimes the image is not loaded and this text is not displayed"); 
       return false; 
      } 
     }) 
     .into(holder.mImg); 
    } 
    else{  
     Glide.with(this.activity).load(premiumsList.get(position).getLogo_url_string()).into(holder.mImg); 
    } 
}  
+0

, из-за которого мое приложение терпит крах, этот адаптер передает его фрагменту в recylcler:/и он только не загружает из getUrl те из них getLogo_url_string() действительно загружает их:/ –

+0

вы также можете зарегистрировать getLogo_url_string @HeberSolis – imaadhrizni

+0

, вы правы, позвольте мне попробовать этот ха-ха, но я уверен, что это то же самое, что и getUrl(), поскольку оно также находится в облачном –

1

Вы должны заботиться о мелочах: ​​

  1. Pass правильный контекст на основе деятельности/Фрагмент
  2. Использование .placeholder
  3. Использование .error для легко определить вопрос
+0

Я передаю правильный контекст, потому что те, что из Logo_string_url показывают их, он только не показывает те, что получены от getUrl, извините, но как я могу использовать другие? Извините, если вопрос немой, но я только начал использовать Glide, а также android:/ –

+0

Вот пример: https://stackoverflow.com/a/39789724/2162226 – gnB

 Смежные вопросы

  • Нет связанных вопросов^_^