Salve ragazzi.
Io vorrei inserire in una listview delle immagini presenti in sd, di cui richiamo l'uri salvata in un database sqlite che mi faccio restituire tramite una sql sul db stesso.
Questo è l'xml di un prodotto della listview:
1
2
3<LinearLayout
4xmlns:android="http://schemas.android.com/apk/res/android"
5android:layout_width="fill_parent"
6android:layout_height="fill_parent"
7android:orientation="horizontal"
8android:weightSum="10"
9>
10
11<ImageView android:layout_width="50dip" android:layout_height="50dip" android:id="@+id/ImageView02"></ImageView>
12
13<TextView
14android:layout_width="0dp"
15android:layout_height="wrap_content"
16android:textSize="15dp"
17android:textStyle="bold"
18android:textColor="#000000" android:layout_weight="2" android:id="@+id/Idar">
19</TextView>
20
21<TextView android:layout_height="wrap_content" android:textSize="15dp" android:textStyle="bold" android:textColor="#000000" android:layout_weight="6" android:layout_width="wrap_content" android:id="@+id/Nomear">
22</TextView>
23
24<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="3" android:id="@+id/Uriar" android:textColor="#000000" android:textSize="15dp" android:textStyle="bold"></TextView>
25
26
27</LinearLayout>
28
Ovviamente io ho una serie di oggetti che mi ritornano da una query del tipo SELECT * FROM products
La query mi restituisce un po di campi e anche l'uri dell'immagine relativa ad ogni articolo salvata sulla sd.
Il tutto per ovvia comodità lo gestico con i Cursor nel seguente modo:
161
2Cursor c=db2.fetchProducts();
3startManagingCursor(c);
4
5
6
7SimpleCursorAdapter adapter=new SimpleCursorAdapter( //semplice adapter per i cursor
8this,
9R.layout.product, //il layout di ogni riga/prodotto
10c,
11new String[]{MyDatabase.ProductsMetaData.PRODUCT_IDAR_KEY,MyDatabase.ProductsMetaData.PRODUCT_NOMEAR_KEY,MyDatabase.ProductsMetaData.PRODUCT_URIAR_KEY},//questi colonne
12new int[]{R.id.Idar,R.id.Nomear,R.id.Uriar});//in queste views
13
14
15productsLv.setAdapter(adapter); //la listview ha questo adapter
16
dove fetchproducts() è il metodo che contiene la query sopra riportata.
Per trasformare l'immagine da jpg a bmp in modo da renderla associabile ad una imageview uso:
61
2String myJpgPath = "/mnt/sdcard/frova.jpg";
3BitmapFactory.Options options = new BitmapFactory.Options();
4options.inSampleSize = 5;
5Bitmap bm = BitmapFactory.decodeFile(myJpgPath, options);
6
Poi per associare una sola immagine alla imageview faccio
41
2ImageView image=(ImageView)findViewById(R.id.ImageView01);
3image.setImageBitmap(bm);
4
Quello che vorrei fare io è iterare tutto questo all'interno del cursor sopra riportato facendo comparire per ogni articolo della lista la relativa immagine.
Non riesco a fare l'associazione tra l'uri dell'immagine e la imageview all'interno del cursor.
Mi hanno suggerito di andare ad estendere il SimpleCursorAdapter e andare ad implementare il netodo newView e bindView in modo da avere accesso completo alla view che compongono le mie righe solo che sono nuovo nella programmazione e non ho ben capito cosa devo fare.
Volevo gentilmente chiedere se qualcuno mi può dare una mano a mettere giù del codice.
Grazie mille ciao!!