Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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 Kotlin:异步访问函数_Android_Kotlin - Fatal编程技术网

Android Kotlin:异步访问函数

Android Kotlin:异步访问函数,android,kotlin,Android,Kotlin,我访问了一个为我的RecyclerView返回数组的函数。如何异步加载阵列? 我加载函数如下所示: var content = ContentList().list(navBarTitle) 内容列表类: class ContentList { fun list(title : String):Array<Array<Int>> { var contentTitle : Array<Array<Int>>

我访问了一个为我的RecyclerView返回数组的函数。如何异步加载阵列? 我加载函数如下所示:

var content = ContentList().list(navBarTitle)
内容列表类:

class ContentList {

    fun list(title : String):Array<Array<Int>>
    {
        var contentTitle : Array<Array<Int>>
        if (title == "Hijaiyyah Letters")
            contentTitle = arrayOf(
                arrayOf(R.drawable.ic_intro1_1, R.raw.ahem_x),
                arrayOf(R.drawable.ic_intro1_2, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_intro1_3, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_intro1_4, R.raw.bloop_x),
                arrayOf(R.drawable.ic_intro1_5, R.raw.blurp_x),
                arrayOf(R.drawable.ic_intro1_6, R.raw.blurp_x),
                arrayOf(R.drawable.ic_intro1_7, R.raw.ahem_x),
                arrayOf(R.drawable.ic_intro1_8, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_intro1_9, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_intro1_10, R.raw.bloop_x),
                arrayOf(R.drawable.ic_intro1_11, R.raw.ahem_x),
                arrayOf(R.drawable.ic_intro1_12, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_intro1_13, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_intro1_14, R.raw.bloop_x),
                arrayOf(R.drawable.ic_intro1_15, R.raw.blurp_x),
                arrayOf(R.drawable.ic_intro1_16, R.raw.ahem_x),
                arrayOf(R.drawable.ic_intro1_17, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_intro1_18, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_intro1_19, R.raw.bloop_x),
                arrayOf(R.drawable.ic_intro1_20, R.raw.blurp_x),
                arrayOf(R.drawable.ic_intro1_21, R.raw.bloop_x),
                arrayOf(R.drawable.ic_intro1_22, R.raw.ahem_x),
                arrayOf(R.drawable.ic_intro1_23, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_intro1_24, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_intro1_25, R.raw.bloop_x),
                arrayOf(R.drawable.ic_intro1_26, R.raw.blurp_x),
                arrayOf(R.drawable.ic_intro1_27, R.raw.ahem_x),
                arrayOf(R.drawable.ic_intro1_28, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_intro1_29, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_intro1_30, R.raw.bloop_x),
                arrayOf(R.drawable.ic_intro1_31, R.raw.blurp_x)
            )
        else if(title == "Fat-hah Vowel 1")
            contentTitle = arrayOf(
                arrayOf(R.drawable.ic_fathah1_1, R.raw.ahem_x),
                arrayOf(R.drawable.ic_fathah1_2, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_fathah1_3, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_fathah1_4, R.raw.bloop_x),
                arrayOf(R.drawable.ic_fathah1_5, R.raw.blurp_x)
            )
        else
            contentTitle = arrayOf(
                arrayOf(R.drawable.ic_tbr, R.raw.ahem_x),
                arrayOf(R.drawable.ic_tbr, R.raw.bad_disk_x),
                arrayOf(R.drawable.ic_tbr, R.raw.baseball_hit),
                arrayOf(R.drawable.ic_tbr, R.raw.bloop_x),
                arrayOf(R.drawable.ic_tbr, R.raw.blurp_x)
            )
        return contentTitle
    }
}
类内容列表{
趣味列表(标题:字符串):数组
{
var-contentTitle:Array
如果(标题=“Hijaiyyah字母”)
contentTitle=arrayOf(
阵列(R.drawable.ic_intro1_1,R.raw.ahem_x),
阵列(R.drawable.ic_intro1_2,R.raw.bad_disk_x),
阵列(R.drawable.ic_intro1_3,R.raw.Basketball_hit),
阵列(R.drawable.ic_intro1_4,R.raw.bloop_x),
阵列(R.drawable.ic_intro1_5,R.raw.blurp_x),
阵列(R.drawable.ic_intro1_6,R.raw.blurp_x),
阵列(R.drawable.ic_intro1_7,R.raw.ahem_x),
阵列(R.drawable.ic_intro1_8,R.raw.bad_disk_x),
阵列(R.drawable.ic_intro1_9,R.raw.Basketball_hit),
阵列(R.drawable.ic_intro1_10,R.raw.bloop_x),
阵列(R.drawable.ic_intro1_11,R.raw.ahem_x),
阵列(R.drawable.ic_intro1_12,R.raw.bad_disk_x),
阵列(R.drawable.ic_intro1_13,R.raw.Basketball_hit),
阵列(R.drawable.ic_intro1_14,R.raw.bloop_x),
阵列(R.drawable.ic_intro1_15,R.raw.blurp_x),
阵列(R.drawable.ic_intro1_16,R.raw.ahem_x),
阵列(R.drawable.ic_intro1_17,R.raw.bad_disk_x),
阵列(R.drawable.ic_intro1_18,R.raw.Basketball_hit),
阵列(R.drawable.ic_intro1_19,R.raw.bloop_x),
阵列(R.drawable.ic_intro1_20,R.raw.blurp_x),
阵列(R.drawable.ic_intro1_21,R.raw.bloop_x),
阵列(R.drawable.ic_intro1_22,R.raw.ahem_x),
阵列(R.drawable.ic\u intro1\u 23,R.raw.bad\u disk\u x),
阵列(R.drawable.ic_intro1_24,R.raw.Basketball_hit),
阵列(R.drawable.ic_intro1_25,R.raw.bloop_x),
阵列(R.drawable.ic_intro1_26,R.raw.blurp_x),
阵列(R.drawable.ic_intro1_27,R.raw.ahem_x),
阵列(R.drawable.ic\u intro1\u 28,R.raw.bad\u disk\u x),
阵列(R.drawable.ic_intro1_29,R.raw.Basketball_hit),
阵列(R.drawable.ic_intro1_30,R.raw.bloop_x),
阵列(R.drawable.ic_简介1_31,R.raw.blurp_x)
)
else if(标题=“肥哈元音1”)
contentTitle=arrayOf(
阵列(R.drawable.ic_fathah1_1,R.raw.ahem_x),
阵列(R.drawable.ic_fathah1_2,R.raw.bad_disk_x),
阵列(R.drawable.ic_fathah1_3,R.raw.Basketball_hit),
阵列(R.drawable.ic_fathah1_4,R.raw.bloop_x),
阵列(R.drawable.ic_fathah1_5,R.raw.blurp_x)
)
其他的
contentTitle=arrayOf(
阵列(R.drawable.ic_tbr,R.raw.ahem_x),
阵列(R.drawable.ic\u tbr,R.raw.bad\u disk\u x),
阵列(R.drawable.ic_tbr,R.raw.Basketball_hit),
阵列(R.drawable.ic_tbr,R.raw.bloop_x),
阵列(R.drawable.ic_tbr,R.raw.blurp_x)
)
返回内容标题
}
}

我还有很多东西要填充阵列,但应用程序已经落后了,所以我考虑采用异步方法。我在谷歌上搜索了Kotlin异步方法,但看到了关于为它创建新函数的信息?非常感谢您的指点/建议。您可以使用Kotlin
coroutine
。你可以试试下面的代码

CoroutineScope(Dispatchers.Main).launch {
    val content = async(Dispatchers.IO) {
        ContentList().list(navBarTitle)
    }
    // result will have returned value of `list()` function
    var result = content.await() 
   }
}
由于我们正在从coroutine访问
list()
,所以它需要是
suspend
函数

suspend fun list(title : String): Array<Array<Int>> { }
suspend fun list(标题:String):数组{}

检查Kotlin协同程序:从IDE获取错误
期望成员声明
到我的前一行:
recyclerView\u main.adapter=SecondAdapter(内容)
。。。有什么想法吗?