Autore Topic: Come si fa ad andare da un listfragment ad un altro?  (Letto 310 volte)

Offline EnnioBubba

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    Windows 8
Come si fa ad andare da un listfragment ad un altro?
« il: 23 Maggio 2015, 18:33:35 CEST »
0
Salve, scusate se disturbo con argomenti insulsi per voi programmatori professionisti ma se mi rivolgo a questo forum significa che non so più dove sbattere la testa. Collaboro con un editore questo si è messo a fare app e siccome sapeva che avevo qualche conoscenza di programmazione mi ha detto di provare android. Mi ha dato come esempio una vecchissima applicazione che usa TabActivity e un database sqlite con il quale fa la navigazione.
La navigazione è di questo tipo: schermata main -> itinerari turistici -> una prima lista di itinerari -> una seconda lista di argomenti (musei, monumenti, ecc.) per singolo itinerario -> apertura della scheda del singolo argomento. In pratica, rispetto ai soliti esempi che mettono un ListFragment -> DetailFragment e basta, io dovrei fare ListFragment -> ListFragment -> DetailFragment, anzi meglio se a runtime riesco a fare più liste quante me ne servono a seconda di quello che dice il database che lavora con una chiave primaria "id" e una seconda chiave "parent_id". Avevo provato a fare una serie di listfragment di cui uno richiamava l'altro e gli dava i parametri attraverso un bundle. Finché facevo un fragment separato per ogni livello di navigazione (arrivando ad avere nel progetto decine e decine di fragment che facevano tutti la stessa identica cosa) tutto andava bene, quando ho provato a fare un unico fragment richiamato in diverse istanze, è venuto fuori un puttanaio, e addirittura usando il pulsante "back" il programmino recupera dal backstack views senza senso che non aveva mai creato prima... se volete ridere ve lo posto nei prossimi giorni.
Il logcat dà questo errore, come se nonostante tutte le chiamate il Bundle passasse ai vari fragment solo il valore zero. Ma... allora come fa col pulsante "back" a recuperare "parent_id" che non sono zero e a fare delle belle schermate senza senso????

06-01 23:06:17.652    8714-8714/it.cicciobau.mianonnaandroid E/SpannableStringBuilder﹕ SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-01 23:06:17.652    8714-8714//it.cicciobau.mianonnaandroid E/SpannableStringBuilder﹕ SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-01 23:50:03.103  13183-13183/it./it.cicciobau.mianonnaandroid E/SpannableStringBuilder﹕ SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
06-01 23:50:03.103  13183-13183/it./it.cicciobau.mianonnaandroid E/SpannableStringBuilder﹕ SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

Sono sicuro che mi direte prima cambia mestiere (magari potessi), poi come pretendi che ne sappiamo qualcosa senza i listati sorgente (vabbé ve li posterò se l'errore non è concettuale ma più banale - i tutorials dicono mai far comunicare un fragment con un altro fragment, ma io l'ho visto fare da un programmatore "professionals"). Comunque abbiate pietà, Android è oggettivamente molto duro da imparare, a meno che tu non abbia uno molto ma molto bravo che te lo insegni direttamente.
Mi scuso ancora di avervi tediato....
« Ultima modifica: 23 Maggio 2015, 18:40:15 CEST da EnnioBubba »

Offline EnnioBubba

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy
  • Sistema operativo:
    Windows 8
Re:Come si fa ad andare da un listfragment ad un altro?
« Risposta #1 il: 27 Maggio 2015, 10:57:30 CEST »
0
Ci ho sbattuto la testa per un po' poi ho risolto, il Bundle con getArguments non andava nell'onStart() come nell'esempio di Google ma direttamente nell'onCreateView(). Grazie lo stesso.