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
Kotlin 如何在Kotiln-Volley JsonObjectRequest类中重写?_Kotlin_Android Volley - Fatal编程技术网

Kotlin 如何在Kotiln-Volley JsonObjectRequest类中重写?

Kotlin 如何在Kotiln-Volley JsonObjectRequest类中重写?,kotlin,android-volley,Kotlin,Android Volley,我正在编写一个Kotlin应用程序,它有一个类。我需要该类来扩展JsonObjectRequest,因为我需要重写该函数 override fun parseNetworkResponse(response: NetworkResponse?): Response<T> NetworkResponse(响应:NetworkResponse?):响应 这是因为我需要在Kotlin中解释服务器发送的HTTP响应代码 然而,我承认我是Kotlin的新手,还没有设法弄明白如何扩展Json

我正在编写一个Kotlin应用程序,它有一个类。我需要该类来扩展JsonObjectRequest,因为我需要重写该函数

override fun parseNetworkResponse(response: NetworkResponse?): Response<T>
NetworkResponse(响应:NetworkResponse?):响应
这是因为我需要在Kotlin中解释服务器发送的HTTP响应代码

然而,我承认我是Kotlin的新手,还没有设法弄明白如何扩展JsonObjectRequest类。我总是遇到愚蠢的编译器问题


有人能提供一个快速的例子吗?

经过一番反复,我终于找到了答案。将其张贴在此处,因为它可能对其他人有用-

class DataRequest(
    method: Int,
    uri: String,
    jsonObject: JSONObject,
    listener: Response.Listener<JSONObject>,
    errorListener: Response.ErrorListener
) :
    JsonObjectRequest(method, uri, jsonObject, listener, errorListener)
{
    override fun parseNetworkResponse(response: NetworkResponse): Response<JSONObject>
    {
        try
        {
            val jsonString = String(
                response.data,
                Charset.forName(HttpHeaderParser.parseCharset(response.headers))
            )
            return Response.success(
                JSONObject(jsonString), HttpHeaderParser.parseCacheHeaders(response)
            )
        } catch (e: UnsupportedEncodingException)
        {
            return Response.error(ParseError(e))
        } catch (je: JSONException)
        {
            return Response.error(ParseError(je))
        }

    }
}
类数据请求(
方法:Int,
uri:String,
jsonObject:jsonObject,
听众:回应,听众,
errorListener:Response.errorListener
) :
jsonObject请求(方法、uri、jsonObject、侦听器、errorListener)
{
重写NetworkResponse(响应:NetworkResponse):响应
{
尝试
{
val jsonString=String(
答复.数据,
forName(HttpHeaderParser.parseCharset(response.headers))
)
回答:成功(
JSONObject(jsonString),HttpHeaderParser.parseCacheHeaders(响应)
)
}捕获(e:不支持的编码异常)
{
返回Response.error(ParseError(e))
}捕获(je:JSONException)
{
返回响应。错误(ParseError(je))
}
}
}