У меня есть LinearLayout со многими вложенными LinearLayouts и TextViewss
Мое основное действие раздувает основной LinearLayout,
Затем я загружаю данные с сервера и на основании полученных данных добавляю несколько макетов в держатель места (LinearLayout)
Это простая страница новостей, в которой я загружаю изображения, связанные с новостями, и помещаю их в исходный пустой LinearLayout.
Каждое изображение имеет следующую информацию: Title (TextView), Date (TextView), Image (ImageView), так что я действительно делаю следующее:
* Обратите внимание, что это только существенное кодирование в вопросе, я собрал все try → catch... if/else.... и т.д.
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 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
}
}
Приведенный выше код подходит для одного изображения
Но для нескольких изображений Image Loader не работает, я предполагаю, потому что все ImageViews (надутые несколько раз) имеют один и тот же идентификатор