2017-09-26 2 views
-5

Ich brauche Hilfe. Ich versuche Glide zu verwenden, um mein Bild vom Server zu holen, aber ich weiß nicht wie? Bitte konstruiere meinen Code, damit der Glide funktioniert oder mir eine andere mögliche Lösung gibt. Ich möchte nur die Bildlistenansicht mit Glide und JSON anzeigen, das JSON-Ergebnis stammt von meinem PHP-Skript. Ich kann neben dem Bild noch weitere Daten abrufen. Das ist mein Code. Wo soll ich hin gleiten?gleiten um Bild in Listenansicht anzuzeigen

public class list extends ListActivity { 

     private static final String TAG_POST= "posts"; 
     private static final String TAG_ID="lecID"; 
     private static final String TAG_NAME="lecName"; 
     private static final String TAG_EMAIL="lecEmail"; 
     private static final String TAG_PASS="lecPass"; 
     private static final String TAG_IMAGE="image"; 
     private static final String LECTURER_LIST_URL="http://system.com/list.php"; 

     private JSONArray mComments =null; 
     private ArrayList<HashMap<String,String>> mcommentList; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.list_view); 
      ImageView imageView=(ImageView)findViewById(R.id.lec_Image); 
//upload is the folder to store my image 
      String leciv="http://fypesystem.com/upload/"; 
      Glide.with(this).load(leciv) 
        .thumbnail(0.5f) 
        .into(imageView); 

Ihre Hilfe wirklich geschätzt.

+0

können Sie Ihre Json Antwort mit Frage hinzufügen –

+0

Sie nicht Ordner URL in Image – Kuls

Antwort

0

Ändern Sie diese Zeile speziell die URL.

ImageView imageView=(ImageView)findViewById(R.id.lec_Image); 
//upload is the folder to store my image 
      String leciv="http://fypesystem.com/upload/9c419dd5659b0af4d14f642f454dcb07.jpg"; 
      Glide.with(this).load(leciv) 
        .thumbnail(0.5f) 
        .into(imageView); 
+0

laden kann, wenn ich Upload schreiben/9c419dd5659b0af4d14f642f454dcb07.jpg , wird es nur das gleiche Bild holen? – Lawrence

+0

Sie müssen alle Url in einer Array-Liste haben, dann setzen Sie sie nacheinander. Zeig mir deinen JSON. – Champandorid

+0

Bereits in meinem Code oben angezeigt. – Lawrence

4
public static void LoadImage(Context cx,ImageView imageView,int demoImage,String url) { 
    if (!((Activity) cx).isFinishing()){ 
     Glide.with(cx) 
       .load(url) 
       .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
       .placeholder(demoImage) 
       .into(imageView); 
} 
} 

cx ist Kontext demoImage Bild ist, das zeigt, bis Ihr Bild Last und URL ist Image-Pfad, die Sie von JSON erhalten.

+0

Hi @Omer Hayat, wo sollte ich LoadImage() deklarieren? – Lawrence

+0

Dies ist eine Methode, die Sie können jede Klasse und verwenden Sie es oder Sie können darüber in Ihrer aktuellen Aktivität oder Haupttätigkeit kopieren und rufen Sie einfach beim Laden Bild nur übergeben Wunschargumente. –

+0

Aber es zeigt Fehler LoadImage(); kann nicht angewendet werden. :( – Lawrence

2

Sie müssen einen benutzerdefinierten Adapter erstellen und diesem Adapter eine Liste übergeben, die Sie aus JSON und dem Layout erstellt haben, die Sie für den Adapter und einen Kontext Ihrer Aktivität verwenden möchten. Und danach, wenn Sie listview als in getView() - Funktion von listview verwenden diesen Code hinzufügen, wo URL sollte der Wert sein, den Sie in einer Liste gespeichert haben

String url = mcommentList.get (Position) .get (TAG_IMAGE);

myImageView sollte das Bild aus dem Layout, die Sie den Adapter übergeben

Glide.with (Kontext) .load (url) .placeholder (R.drawable.ic_launcher) .into (myImageView);

Sie auf diesen Link, um Hilfe

https://www.caveofprogramming.com/guest-posts/custom-listview-with-imageview-and-textview-in-android.html überprüfen

https://www.journaldev.com/10416/android-listview-with-custom-adapter-example-tutorial

Verwandte Themen