Ok, ho capito qualcosa in più, ma ora ho un altro problema.
Sto implementando nel mio progetto il tutorial che ho trovato a questo indirizzo:
http://javatechig.com/android/android-gridview-example-building-image-gallery-in-android
che è abbastanza simile a quello che vorrei ottenere io.
In effetti la gridview funziona ma quando tocco su un'immagine dovrebbe aprire un'altra activity con l'immagine ingrandita (e altre cose), e quello non funziona più.
Ora, seguendo l'esempio di cui sopra ho messo l'array delle immagini in string.xml.
Nell'esempio le immagini venivano passate all'activity successiva, che le apre ingrandite, tramite intent, ma se ci provo nella mia app mi dà un errore binder, evidentemente sono troppo grosse per essere passate da una activity a un'altra.
Vorrei quindi nell'activity con l'immagine ingrandita prendere di nuovo l'immagine dall'array, ho passato la
position
tramite intent, ma non ci riesco.
In effetti non ho capito come fa il codice che ho preso da esempio a popolare la gridView, e quindi non sono riuscito a replicarlo nell'activity successiva.
Io prima, quando avevo ancora l'array nell'imageAdapter, facevo così:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.full_image);
// get intent data
Intent i = getIntent();
// Selected image id
final int position = i.getExtras().getInt("id");
ImageAdapterBambini15 imageAdapter = new ImageAdapterCustom(this);
TouchImageView imageView = (TouchImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(imageAdapter.mThumbIds[position]);
dove "id" è il parametro
position
passato tramite intent, e mThumbsIds l'array dentro l'imageAdapter.
Ma se io l'array ce l'ho dentro string.xml, come faccio a richiamare nella mia activity l'immagine alla posizione desiderata (indicata dal parametro "id" o position che dir si voglia?
Spero di essermi spiegato decentemente...