Android Serialization / Object Passing e Returning

Quindi ho un'applicazione che gestisce i workorder. In una parte dell'app, ho un elenco di ordini di lavoro recuperati da un servizio web. L'utente seleziona uno dei workorders dall'elenco e l'elenco avvia una nuova attività (passando l'object Workorder) che mostra i dettagli del workorder. Durante questo periodo l'utente può modificare parti del workorder. Se l'utente torna all'elenco (tramite il button di return), devo passare il workorder BACK modificato all'elenco dei workorder e aggiornare o sostituire il vecchio object con il nuovo modificato. Altrimenti, (come sta accadendo), l'utente modifica il workorder, ma se tornano all'elenco e selezionano nuovamente il workorder stesso, l'attività del dettaglio del workorder mostra tutti i vecchi dati. Qual è il modo migliore per farlo. Attualmente ho la class Workorder implementare Serializable in modo che gli oggetti di workorder possano essere passati ad attività successive.

Quindi questo funziona: Elenco -> Workorder A

  • Reinstallazione dell'interface utente con candidatura visualizzata nella tastiera personalizzata
  • L'app di esempio di Facebook di Android non si accede quando l'applicazione FB è installata
  • Come formattare un numero di telefono utilizzando PhoneNumberUtils?
  • Samsung Galaxy 7 "(GT-P6210) che non rileva per il debug USB?
  • Layout lineare Android - come mantenere l'elemento in fondo alla vista?
  • GCM funziona bene su Android ma non funziona su iOS
  • Ma è qui che ho il problema: List <- Workorder A (modificato)

    Non sono sicuro se dovrei utilizzare startActivtyForResult e passare l'object workorder o less. So che è una possibilità, ma non sono sicuro se ci sono modi più graziosi per farlo. Grazie per qualsiasi aiuto, come è molto apprezzato!

  • Uso di Android per presentare un module di foglio di calcolo di Google
  • Ignorare i file da Android APK
  • Mostra dialogo dal frammento?
  • definire LOCAL_SRC_FILES in ndk {} DSL
  • disabilitare un ImageButton?
  • Come posso visualizzare il database SQLite su un dispositivo Android?
  • One Solution collect form web for “Android Serialization / Object Passing e Returning”

    Se l'object Workorder è già object di Serializable puoi passare facilmente l'object all'interno del Bundle di un intento. Per salvare l'object su un intento che faresti:

     intent.putExtra("SomeUniqueKey", [intance of workorder]); 

    e caricare in un'altra attività:

     Workorder workorder = (Workorder) intent.getSerializableExtra("SomeUniqueKey"); 

    Se si utilizza startActivityForResult si potrebbe andare in quanto tale:

    WorkorderListActivity.java:

     Intent intent = new Intent(this, WorkorderDetailsActivity.class); intent.putExtra("SomeUniqueKey", _workorder); startActivityForResult(intent, [UniqueNumber]); protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == [UniqueNumber]) { if (resultCode == RESULT_OK) { Workorder workorder = (Workorder) intent.getSerializableExtra("SomeUniqueKey"); // Do whatever with the updated object } } } 

    WorkorderDetailsActivity.java:

     public void onCreate(Bundle savedInstanceState) { Bundle bundle = getIntent().getExtras(); _workorder = (Workorder) bundle.getSerializable("SomeUniqueKey"); // Display the object } public void onBackPressed() { // Update _workorder object Intent intent = getIntent(); intent.putExtra("SomeUniqueKey", _workorder); setResult(RESULT_OK, intent); } 

    Credo che questo dovrebbe funzionare.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.