Asynchrones Laden in Jetpack Compose geht nicht?

Hallo, ich habe folgenden Code in meiner Android Jetpack Compose App, wenn ich die App starte bleibt der Bildschirm wo die Elemente der LazyColumn sein sollten jedoch leer. In der Konsole werden aber die Namen von den Filmen angezeigt (siehe println in der getTrendingMoviesAsync() Methode)

Code in der MainScreen Klasse:

val movies by remember { mutableStateOf(ArrayList<JSONObject>(emptyList())) }
val coroutineScope = rememberCoroutineScope()

LaunchedEffect(true) {
    coroutineScope.launch { 
        val result = getTrendingMoviesAsync()
        if (result != null){
            movies.addAll(result)
        }
    }
}

LazyColumn(modifier = Modifier.padding(top = 135.dp)){
    items(movies){ movie ->
        Text(text = movie.getString("title"))
        Spacer(modifier = Modifier.height(10.dp))
    }
}

Code von der Methode:

suspend fun getTrendingMoviesAsync(): ArrayList<JSONObject>? {
    return withContext(Dispatchers.IO) {
        try {
            val movies = ArrayList<JSONObject>()
            val client = OkHttpClient()
            val request = Request.Builder()
                .url("https://api.themoviedb.org/3/trending/movie/week?language=de-DE")
                .get()
                .addHeader("accept", "application/json")
                .addHeader(
                    "Authorization",
                    "Bearer <apikey>"
                )
                .build()

            val response = client.newCall(request).execute()
            val json = JSONObject(response.body()?.string())
            val results = json.getJSONArray("results")
            for (i in 0 until results.length().coerceAtMost(30)) {
                val movie = results.getJSONObject(i)
                println(movie.getString("title"))
                movies.add(movie)
            }

            movies
        } catch (e: Exception) {
            e.printStackTrace()
            null
        }
    }
}

Kann mir jemand weiterhelfen?

App, Android, Code, Programmiersprache, asynchron, compose, jetpack, Android Studio, Kotlin

Meistgelesene Fragen zum Thema Android