Autore Topic: Caricare immagini listview all'occorrenza  (Letto 830 volte)

Offline superfox

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
Caricare immagini listview all'occorrenza
« il: 23 Dicembre 2014, 13:50:45 CET »
0
Buongiorno a tutti, devo realizzare una listview dove ogni riga conterrà verrà  un titolo e un immagine.
Dato che le immagini sono molte, c'era un modo da poter effettuare il caricamento(e quindi visualizzazione), solo quando l'elemento della lista viene cliccato o selezionato? Perchè altrimenti dovrei salvarle tutte e richiamarle...


Offline Andre99

  • Utente junior
  • **
  • Post: 54
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Vodafone 875
  • Play Store ID:
    F. Andreuzzi
  • Sistema operativo:
    Linux Mint 16 Cinnamon
Re:Caricare immagini listview all'occorrenza
« Risposta #1 il: 23 Dicembre 2014, 15:12:30 CET »
0
se ho capito bene, potresti impostare un listener che si attivi al click sulla view ritornata da getView (se hai un custom adapter). all' interno del metodo OnClick (che se non sbaglio passa una View come parametro) aggiungi l' immagine con addView (facendo un cast a ViewGroup della View che hai come parametro).
In pratica:

Codice (Java): [Seleziona]
//custom adapter
getView(...) {
....
convertview.setonclicklistener(view v) {
   ((ViewGroup) v).addView(/*la tua immagine*/);
}

scusa se sono stato poco chiaro :-P
Andre99
Trieste-12/12/1999
T-UI, Terminal Console Launcher: https://play.google.com/store/apps/details?id=ohi.andre.consolelauncher

Offline superfox

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
Re:Caricare immagini listview all'occorrenza
« Risposta #2 il: 23 Dicembre 2014, 16:32:05 CET »
0
si penso vada bene, perche in teoria vorrei recuperare queste immagini da url che sono messi in file json, quindi dovrebbe andare :)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1231
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Caricare immagini listview all'occorrenza
« Risposta #3 il: 23 Dicembre 2014, 20:12:52 CET »
0
fammi sapere come va il tutto. Io sto popolando una listView con immagini e titoli presa dalla galleria. Ho un lag enorme coi bitmap

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 762
  • Respect: +159
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Caricare immagini listview all'occorrenza
« Risposta #4 il: 24 Dicembre 2014, 10:15:41 CET »
0
@tonno16: Puoi valutare l'idea di caricare le immagini in modo asincrono. Qui un esempio: Processing Bitmaps Off the UI Thread
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1231
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Caricare immagini listview all'occorrenza
« Risposta #5 il: 24 Dicembre 2014, 11:20:44 CET »
0
@Ohmnibus. Grazie. Già fatto. La UI è fluida. Pero le immagini si aggiornano da sole in modo diverso ogni volta. E non capisco perché. Ho provato ad adattare il link postato con decodeBitmapFromFile() dato che ho un array di file. Però tale metodo non prende in input alcun resource id. E quindi ho adattato il tutto.

Eppure non funziona

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 762
  • Respect: +159
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Caricare immagini listview all'occorrenza
« Risposta #6 il: 24 Dicembre 2014, 11:23:39 CET »
0
Hai considerato la concorrenza? In fondo all'articolo è spiegato come gestirla.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1231
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Caricare immagini listview all'occorrenza
« Risposta #7 il: 24 Dicembre 2014, 11:47:02 CET »
0
Ho usato gli stessi metodi. Si.

Ripeto. Forse sbaglio metodo. In quanto devo fare il decode da file....e non da resource.
Credo che sia forse problema di concorrenza, in quanto il log ogni tanto mi da qualche informazione in merito

Offline superfox

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
Re:Caricare immagini listview all'occorrenza
« Risposta #8 il: 28 Dicembre 2014, 12:36:17 CET »
0
Ma a livelli di performace e gestione cosa cambia caricarle in un thread asincrono?
Comunque ho risolto usando picasso

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 762
  • Respect: +159
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Caricare immagini listview all'occorrenza
« Risposta #9 il: 28 Dicembre 2014, 12:59:52 CET »
0
Usare i Thread asincroni aumenta la responsività e la fluidità.

Naturalmente questa tecnica va usata laddove ci siano molti elementi con immagini (tipicamente ListView e GridView) e le immagini in questione non sono risorse immediatamente accessibili (es. caricate da disco o da URL remoto).
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline superfox

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
Re:Caricare immagini listview all'occorrenza
« Risposta #10 il: 28 Dicembre 2014, 15:36:00 CET »
0
Allora vorra dire che le righe di codice di picasso le inseriro in
un asyntask, dato che saranno circa 2000 le immagini.
Ora sto facendo il caricamento da un server in locale, conosci
Un sito per caricare le immagini? Perche io alla fine ste immagino
le ho prese da un sito e tramite json... mi sembrerebbe troppo
scaricarle tutte in assets

Offline superfox

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: 0
    • Mostra profilo
Re:Caricare immagini listview all'occorrenza
« Risposta #11 il: 29 Dicembre 2014, 22:59:13 CET »
0
Nessuno?

Offline tonno16

  • Utente storico
  • *****
  • Post: 1231
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Caricare immagini listview all'occorrenza
« Risposta #12 il: 29 Dicembre 2014, 23:20:46 CET »
0
È ridicolo scaricare in una listview tutte le volte tutte le immagini. Per avere una buona definizione avrà almeno 40x40px , e se ne scarichi 2000 ogni volta uno finisce i dati dopo 5 volte che USA la tua app. Io consiglio di scaricarle in locale.
Per il thread non so. Credo che Picasso già lo implemento nel suo costrutto minimale.

Offline Panico

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S5 - Asus Transformer TF300TG
  • Sistema operativo:
    Ubuntu 14.04 + Windows 7
Re:Caricare immagini listview all'occorrenza
« Risposta #13 il: 30 Dicembre 2014, 09:36:56 CET »
0
... conosci Un sito per caricare le immagini?


imageshack.com