Cómo inflar varias instancias de un diseño con la misma ID dentro de un diseño inflado

Tengo un LinearLayout con muchos LinearLayouts y TextViewss anidados

Mi actividad principal infla el LinearLayout principal,

Luego, cargo datos de un servidor y, según los datos recibidos, agrego varios diseños en un marcador de posición (LinearLayout)

Esta es una página de noticias simple en la que carga imágenes asociadas con las noticias y las coloco dentro de un LinearLayout inicialmente vacío.

Cada imagen tiene la siguiente información: Título (TextView), Fecha (TextView), Image (ImageView), así que lo que realmente hago es lo siguiente:

*Tenga en cuenta que este es solo el código esencial en la pregunta que eliminé todo el intento -> atrapar ... si / más ... 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

      }
}

El código de arriba funciona bien para una sola imagen.

Pero para varias imágenes, el cargador de imágenes no funciona, supongo que se debe a que todas las vistas de imagen (infladas varias veces) tienen la misma ID.

Respuestas a la pregunta(3)

Su respuesta a la pregunta