Autore Topic: View Pager e GridView  (Letto 957 volte)

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
View Pager e GridView
« il: 11 Marzo 2012, 12:01:25 CET »
0
Ciao a tutti,
ho una view pager fatta di 3 schermate, in quella centrale ci sono dei pulsanti, in quelle laterali voglio mettere una gridview con dentro delle immagini, quindi il codice è che ho scritto è il seguente:


Codice (Java): [Seleziona]
        public void onStart(Bundle savedInstanceState) {
                super.onStart();
               
                LayoutInflater inflater = (LayoutInflater) PugliaEventsActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);  
        View layout = inflater.inflate(R.layout.province,(ViewGroup) findViewById(R.id.gridProvince));
        grid_province = (GridView)layout.findViewById(R.id.gridProvince);
            grid_province.setAdapter(new ProvinceImageAdapter(PugliaEventsActivity.this));
           
            grid_province.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                    Toast.makeText(PugliaEventsActivity.this, "" + position, Toast.LENGTH_SHORT).show();
                }
            });
        }

Chiaramente sulla gridview non appaiono le immagini...qualcuno di voi ha vagamente idea di come potrei sbrogliare il bandolo della matassa?

grazie mille

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:View Pager e GridView
« Risposta #1 il: 11 Marzo 2012, 22:41:26 CET »
0
sicuro che non abbia problemi l'adapter?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:View Pager e GridView
« Risposta #2 il: 12 Marzo 2012, 00:52:59 CET »
0
no, in quanto visto che è la stessa cosa che ho pensato anche io, a riprova ho inserito il tutto nella schermata principale dell'activity principale e....magicamente tutto funziona, il problema sono quindi le schermate nascoste e che io voglio popolare cmq, si accettano suggerimenti intanto provo altre idee :)

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:View Pager e GridView
« Risposta #3 il: 12 Marzo 2012, 01:00:02 CET »
0
dargli l'adapter nella onCreate e fare la ripopulate o comunque assegnare i dati con cui l'adapter fa il draw solo nella onResume?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:View Pager e GridView
« Risposta #4 il: 12 Marzo 2012, 10:05:44 CET »
0
appena ho l'occasione di rimettermi a lavorare sul progetto utilizzo l'approccio a fragment o a tab e vediamo cosa ne vien fuori.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:View Pager e GridView
« Risposta #5 il: 12 Marzo 2012, 10:35:16 CET »
0
appena ho l'occasione di rimettermi a lavorare sul progetto utilizzo l'approccio a fragment o a tab e vediamo cosa ne vien fuori.

Questo fine settimana ho iniziato a buttar giù il codice per un tutorial di ViewPager con fragment, ma a parte questo ho notato un comportamento particolare del ViewPager che potrebbe essere la causa della anomalia che rilevi.

Quando il ViewPager crea la view del fragment correntemente visualizzato, crea anche quella dei fragment adiacenti. Da profano dell'uso dei ViewPager, questo è un fastidio non da poco, perchè se cambi la base dati e ti sposti sul fragment adiacente, la view del fragment non viene rigenerata e quindi non è aggiornata. Se il fragment è invece a due swipe di distanza, allora la view viene creata al primo swipe e si aggiorna. Alla fine con un if controllo se il fragment da aggiornare ha già una view associata (con getView), se non esiste aggiorno solo la base dati, se esiste aggiorno base dati e view.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:View Pager e GridView
« Risposta #6 il: 12 Marzo 2012, 10:42:08 CET »
0
beh si ma l'approccio utilizzato anche nell'android market è il seguente:
Supponiamo di avere 3 pagine con la seconda come principale

[PAGINA 1] [PAGINA 2] [PAGINA 3]

In pagina 2 ci carico quello che voglio con i dati che voglio come se fosse una normale activity e vabbeh siamo ok
In pagina 1 e pagina 3 ci carico un contenuto ancora statico che non necessita di modifiche, ma i cui elementi mi avviano delle activity a parte che prendano i contenuti e così rientriamo nel normale ciclo di un'activity

Altrimenti se non siamo in questa casistica, l'approccio migliore potrebbe essere quello che si usa con i tab, anche se i fragment meritano approfondimenti sicuramente :)

che ne pensi?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:View Pager e GridView
« Risposta #7 il: 12 Marzo 2012, 10:59:55 CET »
0
Se ho capito bene, l'approccio che descrivi è quello di usare il ViewPager come estensione della schermata, con l'accortezza di mettere nelle pagine laterali solo contenuto statico, così da evitare la problematica dell'aggiornamento. Se ho interpretato bene la tua spiegazione, penso vada bene.

Per quanto riguarda l'approccio a Tab, se implementato a fragment, da quel poco che ho visto sembra essere molto simile al ViewPager come problematiche di aggiornamento. Il codice esempio dei FragmentTab nelle APIdemo è a mio avviso ingiustificatamente complicato, come se fosse un "trick" per far funzionare i Tab anche con i Fragment, quando invece mi sarei aspettato qualcosa di "pensato" per quell'uso.

Infatti uno dei commenti nel codice sorgente dell'esempio dice:
Citazione
/**
 * This demonstrates how you can implement switching between the tabs of a
 * TabHost through fragments.  It uses a trick (see the code below) to allow
 * the tabs to switch between fragments instead of simple views.
 */

FragmentTabs.java | Android Developers
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:View Pager e GridView
« Risposta #8 il: 12 Marzo 2012, 11:11:21 CET »
0
si hai interpretato esattamente il mio pensiero, tuttavia se devo inserire una gridview si presentano tutti quei casini, potrei usare qualcos'altro al posto della gridview?