Autore Topic: OnsavedInstanceState - Problema nell'applicare  (Letto 457 volte)

Offline Ray13

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
OnsavedInstanceState - Problema nell'applicare
« il: 28 Novembre 2012, 03:24:31 CET »
0
Salve a tutti, sono nuovo del forum e spero in un vostro aiuto. Ringrazio da subito per l'attenzione.

Allora sto creando un quiz. Prima activity clicco su un item di una list di oggetti ed apre una seconda activity con la textview con la domanda e 4 pulsanti con le risposte. Al click vorrei disabilitare i pulsanti e visualizzare una texview nascosta con la risposta corretta. Fin qui nessun problema.

Il mio problema più grande è che se esco dalla seconda activity (con un pulsante o con il Back) e clicco di nuovo sullo stesso item rientrando invece di salvarmi lo stato mi fa ripartire da capo l'activity e quindi annullando il lavoro fatto dall'utente. So, spero, che la soluzione sta nell'applicare il saveinstancestate.

In qualche modo dovrei salvare come stanno le cose in quel momento (non so come dirglielo ) e inizialmente gli dico fai partire tutto se è la prima volta che esiste l'activity e per ogni volta successiva gli dovrei dire: ok ora fai partire le cose come stavano l'ultima volta che le hai salvate.

------------------------------

Già risolvendo questi problemi sarei molto felice. Risolti questi in caso espongo un'altro problema futuro.

Grazie a chiunque mi stia leggendo ^^

Ray13

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:OnsavedInstanceState - Problema nell'applicare
« Risposta #1 il: 28 Novembre 2012, 07:59:08 CET »
0
Il problema è che tutto ciò che deve essere salvato, non dovrebbe essere salvato nell'activity, ma nella "base dati" dell'applicazione, sia esso un database o le sharedpreferences o altro. Nella tua activity ogni volta che viene scelta una opzione salvi la scelta, che andrai a recuperare quando vai ad aprire l'activity stessa.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Ray13

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:OnsavedInstanceState - Problema nell'applicare
« Risposta #2 il: 28 Novembre 2012, 13:16:45 CET »
0
In realtà ci pensavo anche io. A salvare le risposte corrette in un db SQLite e gestire le risorse da li. Ma non avrò sempre lo stesso problema del backpress o del fatto che qualcuno torna sulla stessa pagina?

Cioè, mi rispiego che forse ieri notte l'ho scritto da cani:

Il mio problema è che attualmente l'applicazione funziona correttamente in tutto, o meglio so come farla funzionare in tutto, il mio problema è che se un utente esce dalla seconda activity con la domanda in dettaglio per tornare alla lista con tutte le domande e dopo ci rientra l'applicazione non salva gli effetti eseguiti precedentemente.

Esempio:

Clicco su Domanda 1
Entro nell'activity domanda 1 in dettaglio.
Clicco bottone risposta esatta.
I bottoni diventano invisibili e appare un messaggio con scritto che la risposta era esatta.
Torno indietro.
Dopo 5 minuti clicco ancora in Domanda 1
L'activity ripresenta tutti i bottoni e la domanda come se non l'avessi mai data

Offline Ray13

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:OnsavedInstanceState - Problema nell'applicare
« Risposta #3 il: 28 Novembre 2012, 13:40:41 CET »
0
Non so se può essere utile ma cercando su google forse la situazione può essere trovata nel startActivityForResult ma non capisco bene come collegarla.