我使用volley库来执行POST方法,但是我得到了以下错误:未解决的引用: entrySet。
我怎么才能解决这个问题?
这是我的代码:
Kotlin
@Throws(AuthFailureError::class)
override fun getBody(): ByteArray? {
val params = params
if (params != null && params.size > 0) {
return encoderParameters(params, paramsEncoding)
}
return null
}
fun encoderParameters(params: HashMap<String, String>, paramsEncoding: String): ByteArray {
val encodedParams = StringBuilder()
try {
for (entry in params.entrySet()) {
encodedParams.append(URLEncoder.encode(entry.key), paramsEncoding)
encodedParams . append ('=')
encodedParams . append (URLEncoder.encode(entry.value, paramsEncoding))
encodedParams . append ('&')
}
return encodedParams.toString().toByteArray(charset(paramsEncoding))
}catch (e: UnsupportedEncodingException){
throw RuntimeException("Encoding not supported: $paramsEncoding", e)
}
}发布于 2018-05-03 17:30:12
转换
for (entry in params.entrySet()) {
encodedParams.append(URLEncoder.encode(entry.key), paramsEncoding)
encodedParams . append ('=')
encodedParams . append (URLEncoder.encode(entry.value, paramsEncoding))
encodedParams . append ('&')
}转到
for ((key, value) in params) {
encodedParams.append(URLEncoder.encode(key), paramsEncoding)
encodedParams . append ('=')
encodedParams . append (URLEncoder.encode(value, paramsEncoding))
encodedParams . append ('&')
}应该行得通。
https://stackoverflow.com/questions/50156578
复制相似问题