Autore Topic: Aprire immagine cliccando sul file  (Letto 1413 volte)

Offline electrolite

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Aprire immagine cliccando sul file
« il: 18 Aprile 2011, 20:23:46 CEST »
0
Salve.
Sto creando una semplice app che mi mostra tramite listView tutti i file che ho in una cartella nella sd. I file sono di tipo jpeg. Fin qui tutto ok. Non riesco però a capire come fare a rendere cliccabili i singoli file in modo che si apra l'immagine scelta.

Ecco il mio codice: la parte in mezzo agli = è incompleta e penso sbagliata.
Codice (Java): [Seleziona]
public class PhotoResize extends ListActivity {
    /** Called when the activity is first created. */
   
         private File currentDirectory = new File("/sdcard/DCIM/100MEDIA");
         private ArrayList<String> directoryEntries = new ArrayList<String>();
         
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        browse(this.currentDirectory);
       
        ListView lv = getListView();
        lv.setTextFilterEnabled(true);
       
/*//=====================================================================
        //qui pensavo di gestire il click per aprire l'immagine, ma trovo difficoltà
        lv.setOnItemClickListener(new OnItemClickListener()
        {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view,int position, long id)
                {
                 //??
                }
        });
//======================================================================
*/

   
    }

        private void browse(File directory)
        {
                if(directory.isDirectory())
                {
                        fill(directory.listFiles());
                }
               
        }

        private void fill(File[] listFiles)
        {
                //riempo la lista directoryEntries con i file presenti nella directory
                for (File file : listFiles)
                {
            this.directoryEntries.add(file.getPath());
                }
               
                ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this,R.layout.list_item, this.directoryEntries);
                this.setListAdapter(directoryList);
               
        }
}

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Aprire immagine cliccando sul file
« Risposta #1 il: 19 Aprile 2011, 09:15:07 CEST »
0
Codice (Java): [Seleziona]
lv.setOnItemClickListener(new OnItemClickListener() {
   public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
   ...
   }
}
);
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline electrolite

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Re:Aprire immagine cliccando sul file
« Risposta #2 il: 19 Aprile 2011, 09:47:53 CEST »
0
Grazie,
ma è proprio lì dove hai messo i puntini che dovrei far aprire l'immagine ma non so come fare, sto spulciando il forum ma non trovo nulla di adatto.....

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Aprire immagine cliccando sul file
« Risposta #3 il: 19 Aprile 2011, 10:59:11 CEST »
+1
scusami, non avevo visto il codice commentato......:P

Pensavo il tuo problema fosse legato all'onclick e non al view.

Codice (Java): [Seleziona]
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(tuoFile), "image/jpg");
((Activity) getContext()).startActivity(intent);

Questo dovrebbe andare bene.
^_^
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline electrolite

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Re:Aprire immagine cliccando sul file
« Risposta #4 il: 19 Aprile 2011, 11:08:56 CEST »
0
Grazie mille. Avevo l'impressione che ci volesse un Intent.....mi tocca studiarmeli per bene.
C'è solo una cosa che non ho capito:  in " Uri.fromFile(tuoFile) " dovrei passare l'uri dell'immagine da aprire, ma come la ricavo dal click? ci deve essere un metodo preciso immagino...
grazie per la pazienza..

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Aprire immagine cliccando sul file
« Risposta #5 il: 19 Aprile 2011, 12:23:05 CEST »
+1
se listFiles è una lista che mantiene l'ordine di inserimento, puoi utilizzare position per prenderti l'iesimo elemento della lista.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline electrolite

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Re:Aprire immagine cliccando sul file
« Risposta #6 il: 21 Aprile 2011, 16:15:35 CEST »
0
Grazie mille, ho risolto col tuo consiglio!!
A presto!! :-)

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Aprire immagine cliccando sul file
« Risposta #7 il: 21 Aprile 2011, 17:00:09 CEST »
+1
se un post ti è stato di aiuto, ringrazia chi ti ha aiutato, andando su thanks.

bye.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline electrolite

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Re:Aprire immagine cliccando sul file
« Risposta #8 il: 21 Aprile 2011, 17:34:47 CEST »
0
Ok! Non avevo notato che i tasti Thanks si attivano solo dopo aver posto a Risolto il topic.
Dato che ci sono vorrei chiederti un altro piccolo aiuto: per gestire (modificare) un'immagine, per esempio aprirla da sd, cambiare l'altezza o la dimensione ecc.., poi salvarla su sd, cosa mi consiglieresti di usare? Le api di Java tipo BufferedImage ecc..?

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Aprire immagine cliccando sul file
« Risposta #9 il: 22 Aprile 2011, 13:28:43 CEST »
0
cosa intendi per cambiare l'altezza o la dimensione? fare un resize?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline electrolite

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Htc Desire
Re:Aprire immagine cliccando sul file
« Risposta #10 il: 23 Aprile 2011, 08:43:53 CEST »
0
cosa intendi per cambiare l'altezza o la dimensione? fare un resize?
Si, infatti sarebbe un resize!

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Aprire immagine cliccando sul file
« Risposta #11 il: 26 Aprile 2011, 14:36:32 CEST »
+1
per "manipolare" in maniera semplice (fare il resize, in questo caso), Bitmap e BitmapFactory vanno più che bene.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/