So blasen Sie mehrere Instanzen eines Layouts mit derselben ID in einem aufgeblasenen Layout auf

Ich habe ein LinearLayout mit vielen verschachtelten LinearLayouts und TextViews

Meine Hauptaktivität bläst das Haupt-LinearLayout auf,

Dann lade ich Daten von einem Server und füge basierend auf den empfangenen Daten mehrere Layouts in einen Platzhalter ein (LinearLayout)

Dies ist eine einfache Nachrichtenseite, auf der ich mit den Nachrichten verknüpfte Bilder lade und sie in einem anfangs leeren LinearLayout platziere.

Jedes Bild hat die folgenden Informationen: Titel (TextView), Datum (TextView), Bild (ImageView). Ich mache also eigentlich Folgendes:

*Bitte beachten Sie, dass dies nur das Wesentliche ist, das in der Frage codiert ist, in der ich alle Versuche ausgeführt habe -> catch ... if / else .... etc

public void addImages(JSONArray images){
      ViewGroup vg = (ViewGroup) findViewById(R.id.imagesPlaceHolder);


      // loop on images
      for(int i =0;i<images.length;i++){

          View v = getLayoutInflater().inflate(R.layout.image_preview,vg);
          // then 
          I think that here is the problem 
          ImageView imv = (ImageView) v.findViewById(R.id.imagePreview);
          TextView dt = (TextView) v.findViewById(R.id.dateHolder);
          TextView ttl = (TextView) v.findViewById(R.id.title);
          // then 
          dt.setText("blablabla");
          ttl.setText("another blablabla");
          // I think the problem is here too, since it's referring to a single image
          imv.setTag( images.getJSONObject(i).getString("image_path").toString() );
          // then Image Loader From Server or Cache to the Image View

      }
}

Der obige Code funktioniert gut für ein einzelnes Bild

Aber für mehrere Bilder funktioniert der Image Loader vermutlich nicht, weil alle ImageViews (mehrfach aufgeblasen) dieselbe ID haben

Antworten auf die Frage(3)

Ihre Antwort auf die Frage