изменять внешний класс через анонимный внутренний объект в котлине

Я пишу свое первое приложение для Android в Котлине.

Я пытаюсь сделать запрос HTTP (Volley), чтобы получить некоторые данные, которые должны быть записаны в свойства объекта.
Это работает отлично до тех пор, пока не останется слушатель ответа Volley. Впоследствии свойства возвращаются к нулевому значению.

Это вызывающий:

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val haiku = Haiku(applicationContext) haiku.load() // populates 3 properties (author, body, title) haiku.show() // author, body, title are back to null here } } 

Вызов:

 class Haiku(var context: Context? = null, var title: String? = null, var body: String? = null, var author: String? = null) : Parcelable { // parcelable implementaion left out here fun load() { val stringRequest = object : StringRequest(Request.Method.GET, EndPoints.URL_GET_HAIKU, Response.Listener { response -> try { val json = JSONObject(response) // proper payload arrives val haiku = json["haiku"] as JSONObject this@Haiku.title = haiku["title"] as String // all properties look alright here this@Haiku.author = haiku["author"] as String this@Haiku.body = haiku["body"] as String } catch (e: JSONException) { Toast.makeText(context, R.string.haiku_not_fetched, Toast.LENGTH_LONG).show() } }, Response.ErrorListener { error -> Toast.makeText(context, R.string.haiku_not_fetched, Toast.LENGTH_LONG).show() }) { } VolleySingleton.instance?.addToRequestQueue(stringRequest) } fun show() { // when called after the load method title, body, author are back to null val intent = Intent(context, HaikuDisplayActivity::class.java) intent.putExtra(EXTRA_HAIKU, this) context!!.startActivity(intent) } } 

Вероятно, это проблема с областью объекта, но я не мог понять, почему значения не сохраняются. Большое спасибо за любой вид за помощь!

На этот вопрос был дан ответ в комментариях. Запрос HTTP не возвращается еще при вызове метода show() . Меня смутил отладчик, потому что он выглядит так, будто он уже существует.

Спасибо @Chisko