Per disporre una griglia di immagini, indipendentemente dal contenuto, devo avere:
- il numero degli elementi
- la lunghezza delle linee.
Se voglio questa funzione dal resto, posso creare un arraylist di immagini e tags e quindi disporla come parametro, usando il size dell'arraylist.
Il vantaggio è che ho una funzione separata e quindi più gestibile e più facile da revisionare.
Lo svantaggio è che devo prima trasferire i valori dei campi del Cursor in un arrayList.
Proviamo...
//PRENDERE TUTTI I RECORDS
Cursor crs=helper.query();
ArrayList<imgStorage> imgStorageArrayList=new ArrayList<imgStorage>();
do{
imgStorageArrayList.add(new imgStorage(crs.getString(2),crs.getString(2)));
}while(crs.moveToNext());
System.out.println(imgStorageArrayList.size());
Funziona.
Ora devo creare la funzione a parte, che avendo questo array come parametro crea le immagini.
private void disponi(ArrayList<imgStorage> arrayStorage,int rowlength){
for(int i=0;i<arrayStorage.size();i++){
imageView=new ImageView(getApplicationContext());
RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(100,100);
params.leftMargin=i%rowlength*100;
params.topMargin=i/rowlength*100;
imageView.setLayoutParams(params);
mainLayout.addView(imageView);
imageView.setTag(arrayStorage.get(i).getNome());
System.out.println(arrayStorage.get(1).getNome());
}
}
e sembra funzionare egregiamente.
Nessun commento:
Posta un commento