Domanda

Ho 2 attività a-> b.A è l'attività genitore e B è come "Impostazioni".In B, l'utente fa alcune scelte che aggiornano il database dell'app.A deve leggere il database per impostare alcuni testists in conformità con quello.

Che cosa pensavo funzionerebbe è questo: in B L'utente imposta le sue scelte (utilizzando alcuni pulsanti di commutazione) e la funzione OnDestroy Lo stato dei pulsanti viene letto e il DB viene aggiornato (non ho "pulsante di modifica di invio", quindi uso ondestroy).Quindi sulla funzione onResume di A, chiamo la routine che legge il DB e aggiorna i campi.

Il problema è che le modifiche non sono visibili in A. Ma se torno di nuovo a B e tornare a una nuova nuova modifica, le modifiche sono visibili e corrette.

Quindi cosa c'è che non va e dovrebbe essere fatto?Posso usare un'attività fittizia tra A e B e questo potrebbe funzionare, ma non so se questa è una buona implementazione .. Grazie in anticipo!

È stato utile?

Soluzione

Prova invece del metodo onDestroy() ad esempio onPause() o Metodo onStop().E guarda questo:

Inserisci Descrizione dell'immagine qui

Altri suggerimenti

Se non si desidera implementare un pulsante di invio, è meglio aggiornare il database in onPause() anziché onDestroy().

@Override
    protected void onPause() {
        super.onPause();    
            if (isFinishing()) {
                //Database updates here
            }
        }
    }
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top