2017-09-19 5 views
-1

J'ai donc un problème où même l'implémentation la plus barebone de Glide pour charger une image ne fonctionnera pas et les résultats dans un AppX s'est arrêté. J'ai même créé une application secondaire avec juste le code nécessaire pour charger à partir d'une URL et cela ne fonctionne pas. J'ai essayé plusieurs URL que je connais et j'ai le même problème. J'ai ajouté les autorisations:Glide ne charge pas les images à partir d'une URL et bloque l'application

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> 
</uses-permission> 
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

les instructions Gradle:

compile 'com.github.bumptech.glide:glide:3.7.0' 
compile 'com.android.support:support-v4:23.0.0' 

et mon XML d'activité ressemble à:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.benhouse.basicglidetest.MainActivity"> 

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Hello World!" 
app:layout_constraintBottom_toBottomOf="parent" 
app:layout_constraintLeft_toLeftOf="parent" 
app:layout_constraintRight_toRightOf="parent" 
app:layout_constraintTop_toTopOf="parent" /> 

<LinearLayout 
android:layout_width="138dp" 
android:layout_height="495dp" 
android:orientation="horizontal" 
tools:layout_editor_absoluteX="8dp" 
tools:layout_editor_absoluteY="8dp"> 

<ImageView 
    android:id="@+id/imageView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 

    android:layout_weight="1" 
    tools:layout_editor_absoluteX="192dp" 
    tools:layout_editor_absoluteY="155dp" /> 
</LinearLayout> 

</android.support.constraint.ConstraintLayout> 

et mon .java pour cette activité:

package com.example.benhouse.basicglidetest; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.ImageView; 

import com.bumptech.glide.Glide; 

public class MainActivity extends AppCompatActivity { 
    ImageView imageView; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

Glide.with(getApplicationContext()).load("https://i.imgur.com/AxETlhd.jpg"); 
    } 
} 

Qu'est-ce qui ne va pas? Je ne reçois aucune trace de pile dans le logcat ou quoi que ce soit et j'ai isolé le problème autant que possible. Est-il également possible d'afficher sur l'application que l'image n'a pas été chargée?

+1

vous devez définir la cible à votre chargement: 'Glide.with (contexte) .load (url) .into (YourView)' –

Répondre

3

Essayez ceci.

imageView = (ImageView) findViewById(R.id.imageView); 
Glide.with(MainActivity.this).load("https://i.imgur.com/AxETlhd.jpg").into(imageView); 

Ajoutez into(imageView); au code.

Remarque

Ajout image d'erreur et de l'image de placehoder sera bien.

Glide.with(context).load(url).placeholder(R.mipmap.placeholder).error(R.mipmap.error).into(iv); 
+0

Je suis un idiot ... J'ai oublié de rajouter la méthode findViewById() ... merci pour les conseils sur l'erreur et le détenteur de place. – Holmes

0

S'il vous plaît vérifierons ce code:

j'avais changé quelques-unes des lignes de votre extrait:

package com.example.benhouse.basicglidetest; 

    import android.support.v7.app.AppCompatActivity; 
    import android.os.Bundle; 
    import android.widget.ImageView; 

    import com.bumptech.glide.Glide; 

    public class MainActivity extends AppCompatActivity { 
     ImageView imageView; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 


     imageView = (ImageView)findViewById(R.id.yourImageView); // get your image view 


     Glide.with(getApplicationContext()) 
     .load("https://i.imgur.com/AxETlhd.jpg") 
     .into(imageView); // put image loaded via glide into ImageView 
       } 
      } 
+0

Eh bien, il y a votre problème ... oublié: imageView = (ImageView) findViewById (R.id.yourImageView); // obtenir votre vue de l'image – Holmes

0

Ajouter une image chargée dans imageview

public class MainActivity extends AppCompatActivity { 
ImageView imageView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    imageView=(ImageView) findViewById(R.id.imageView); 

      Glide.with(EnterPinActivity.this).load("https://i.imgur.com/AxETlhd.jpg").placeholder(R.drawable.plcae_holder).error(R.drawable.plcae_holder).into(imageView); 

    } 
}