【发布时间】:2021-04-13 11:21:07
【问题描述】:
我正在使用 okhttp 来执行 http 获取请求。我必须检索 url 的正文并将其用作 string 的 TextView
我的代码 -
new Thread(new Runnable() {
@Override
public void run() {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(myURL)
.build();
try {
try (final Response response = client.newCall(request).execute()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
t.setText(response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
启动活动后应用程序崩溃
错误-
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.vedang.sadhguru, PID: 8677
java.lang.IllegalStateException: Inflater has been closed
at java.util.zip.Inflater.ensureOpen(Inflater.java:397)
at java.util.zip.Inflater.inflate(Inflater.java:258)
at okio.InflaterSource.readOrInflate(InflaterSource.kt:79)
at okio.InflaterSource.read(InflaterSource.kt:49)
at okio.GzipSource.read(GzipSource.kt:69)
at okio.Buffer.writeAll(Buffer.kt:1642)
at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
at okhttp3.ResponseBody.string(ResponseBody.kt:187)
at com.vedang.sadhguru.VideoList$1$1.run(VideoList.java:48)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
【问题讨论】:
-
你检查过这个question 吗?
-
我自己解决了,但我无法在这里发布解决方案。
-
现在您应该可以回答自己的问题了。 More details
-
感谢@code_mechanic 我正在分享解决方案。