Como inflar várias instâncias de um layout com o mesmo código dentro de um layout inflado
Eu tenho um LinearLayout com muitos LinearLayouts e TextViewss aninhados
Minha atividade principal infla o LinearLayout principal,
Então eu carrego dados de um servidor e com base nos dados recebidos, eu adiciono vários layouts em um espaço reservado (LinearLayout)
Esta é uma simples página de notícias onde eu carrego Imagens associadas com as notícias e as coloco dentro de um LinearLayout inicialmente vazio.
Cada imagem tem as seguintes informações: título (TextView), data (TextView), imagem (ImageView), então o que eu realmente faço é o seguinte:
*Por favor, note que este é apenas o essencial codificado na pergunta que eu elemenated toda a tentativa -> pegar ... 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
}
}
O código acima funciona bem para uma única imagem
Mas para várias imagens, o Image Loader não funciona, acho que é porque todos os ImageViews (inflados várias vezes) têm o mesmo ID