安卓okhttp问题

网络正常,就是没有任何反应,没有toast提示,代码:
OkHttpClient o=new OkHttpClient();

    Request r=new Request.Builder().url("http://www.baidu.com").build();
    o.newCall(r).enqueue(new Callback()

{

@Override

public void onFailure(Request p1, IOException p2)
{

Toast.makeText(MainActivity.this,"error",Toast.LENGTH_LONG).show();

}

@Override
public void onResponse(final Response p1) throws IOException
{

Toast.makeText(MainActivity.this,p1.body().string(),Toast.LENGTH_LONG).show();

}
});

阅读 2.6k
2 个回答

Callback的onFailure()和onResponse()回调都是在子线程中执行的,在子线程中弹Toast会抛异常,你确定没有错误抛出来?
要正常显示Toast,请通过主线程的Handler将相关操作分发到主线程,如handle.post(Runnable)

看看有报错信息吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题