Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
等待android中的某些功能完成_Android - Fatal编程技术网

等待android中的某些功能完成

等待android中的某些功能完成,android,Android,在我的android应用程序(媒体播放器)中,我正在扫描loadingActivity.kt文件中的所有媒体文件。然后启动mainActivity.kt。我的代码是 scanSongs() intent = Intent(this, MainActivity::class.java) startActivity(intent) 我的scanSongs()函数是 private fun scanSongs() { val songsJob = async {

在我的android应用程序(媒体播放器)中,我正在扫描
loadingActivity.kt
文件中的所有媒体文件。然后启动
mainActivity.kt
。我的代码是

scanSongs()
intent = Intent(this, MainActivity::class.java)
startActivity(intent)
我的
scanSongs()
函数是

private fun scanSongs() {
        val songsJob = async {
            val songsFinder = SongsLoader(contentResolver)
            songsFinder.load()
            songsFinder.getAllSongs()
        }
        launch {
            allSongsList = songsJob.await()
            allSongsList?.sortBy { it.getTitle() }
        }
    }

但在扫描完成之前,它正在打开
main活动
。并显示空列表。在打开
mainActivity

之前,我如何等待完成
scanSong()
,在启动mainActivity.kt之前,您必须检查一个条件


歌曲列表是否为空

当您拥有allSongsList时打开Main活动:

private fun scanSongs() {
        val songsJob = async {
            val songsFinder = SongsLoader(contentResolver)
            songsFinder.load()
            songsFinder.getAllSongs()
        }
        launch {
            allSongsList = songsJob.await()
            allSongsList?.sortBy { it.getTitle() }
            intent = Intent(this, MainActivity::class.java)
            startActivity(intent)
        }
    }

如果它是空的呢?