【发布时间】:2019-05-17 11:50:02
【问题描述】:
我正在使用 Kotlin,api 28 开发一个 android 应用程序。我还使用 swagger 来获取所有 web 服务。大摇大摆地获得“Kotlin_client_generated”文件后,将其添加到我的项目中。我想使用以下 mobileApi 之一:
fun apiMobileAPIGetProviderPost(disc: kotlin.Any, pageIndex: kotlin.Int, pageSize: kotlin.Int, sort: kotlin.String, order: kotlin.String) : kotlin.Array<ProviderData> {
val localVariableBody: kotlin.Any? = disc
val localVariableQuery: MultiValueMap = mapOf("pageIndex" to listOf("$pageIndex"), "pageSize" to listOf("$pageSize"), "sort" to listOf("$sort"), "order" to listOf("$order"))
val contentHeaders: kotlin.collections.Map<kotlin.String,kotlin.String> = mapOf()
val acceptsHeaders: kotlin.collections.Map<kotlin.String,kotlin.String> = mapOf("Accept" to "application/json")
val localVariableHeaders: kotlin.collections.MutableMap<kotlin.String,kotlin.String> = mutableMapOf()
localVariableHeaders.putAll(contentHeaders)
localVariableHeaders.putAll(acceptsHeaders)
val localVariableConfig = RequestConfig(
RequestMethod.POST,
"/api/MobileAPI/GetProvider",
query = localVariableQuery,
headers = localVariableHeaders
)
val response = request<kotlin.Array<ProviderData>>(
localVariableConfig,
localVariableBody
)
return when (response.responseType) {
ResponseType.Success -> (response as Success<*>).data as kotlin.Array<ProviderData>
ResponseType.Informational -> TODO()
ResponseType.Redirection -> TODO()
ResponseType.ClientError -> throw ClientException((response as ClientError<*>).body as? String ?: "Client error")
ResponseType.ServerError -> throw ServerException((response as ServerError<*>).message ?: "Server error")
else -> throw kotlin.IllegalStateException("Undefined ResponseType.")
}
}
我在我的活动中添加以下代码:
val params = HashMap<String, String>()
MobileAPIApi().apiMobileAPIGetProviderPost(params,0,50,null,null,
object : Response.Listener<List<ProviderData>>() {
fun onResponse(response: List<ProviderData>?) {
if (response != null && response.size != 0) {......}
我的问题就在这里,为什么不能像在 Java 中那样使用 Response.Listener,我该如何替换它。
【问题讨论】:
标签: android kotlin android-volley