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!