ciao!
da una activity, prendo i dati in formato JSON/String e riempio una lista.
poi clicco su una voce, e vado in un'altra activity.
quando ritorno indietro, vedo che i dati sono anadati persi, e devo di nuovo eseguire la chiamata al web service.
io vorrei tenere questi dati.
ho provato in questo modo:
codice:
class ClientiActivity : AppCompatActivity(), AnkoLogger {
private var finalUrl: String = ""
private var result: String = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_clienti)
btnCliente.setOnClickListener {
val dialog = indeterminateProgressDialog(message = "Wait...", title = "Recupero dati")
doAsync {
result = DATI_DAL_WB_SERVICE
}
}
}
override fun onSaveInstanceState(outState: Bundle?) {
outState?.run {
putString("JSON_SEARCHED", result)
Log.i("ON SAVED", result)
}
super.onSaveInstanceState(outState)
}
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
result = savedInstanceState?.getString("JSON_SEARCHED").toString()
Log.i("ON RESTORED", result)
}
override fun onResume() {
super.onResume()
Log.i("ON RESUME", result)
}
}
dei tre eventi di cui ho fatto l'override, vedo solo onSaveInstanceState.
gli altri apparentemente non vengono intercettati.
avete qualche idea??
PS: come vedete è kotlin e non java, ma penso che la logica del problema sia la stessa!