JavascriptProva

martedì 18 aprile 2017

Prendendo il Cursor dalla tabella del database, vorrei fare di ognuno un'immagine.
Per disporre una griglia di immagini, indipendentemente dal contenuto, devo avere:
  • il numero degli elementi
  • la lunghezza delle linee.
Però per mettere poi in ognuna delle immagini l'immagine giusta devo avere preventivamente un array di immagini. Se voglio metterci anche i tags devo avere un array di tags.
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