您的位置:首页 > 理论基础 > 计算机网络

关于volley请求没有回调信息的解决方法

2016-11-09 00:17 232 查看
最近做项目遇到一个很烦心的问题,就是删除评论模块,要用到接口,这个我是用volley方法传入接口的url地址的,具体方法可以参考我的另外一篇博文:

Android实战:使用Volley框架访问服务器Json数据

       请求完服务器数据,配置好需要的参数,需要返回的json字符串中判断status是否为true,如果为true,就可以删除帖子。配置的代码如下:

 <span style="font-family:Microsoft YaHei;font-size:12px;"> @Override
protected Map<String, String> getParams() {
HashMap<String, String> map = new HashMap<String, String>();
map.put("postId", String.valueOf(2));
map.put("userId", String.valueOf(3));
map.put("content", mycommment);
// Toast.makeText(SendCommentActivity.this, mycommment, Toast.LENGTH_SHORT).show();这一句不是主线程,不能在这里加!!!否则传参错误!!
Log.i("postId", String.valueOf(2));
Log.i("mycontent", mycommment);
return map;
}</span>

我检查了请求接口地址,没有错;检查了配置参数,也没有错;然而却始终无法找到原因,log也没有提示。这个问题纠结了我两天,好气啊!

最终我发现是这句话让请求没有返回结果:

<span style="font-family:Microsoft YaHei;font-size:12px;">Toast.makeText(SendCommentActivity.this, mycommment, Toast.LENGTH_SHORT).show();</span>
<span style="font-family:Microsoft YaHei;font-size:12px;">在android中,但凡有UI的改变,只能在主线程中进行,然后getParams却不是主线程,所以程序执行到这一句就会停止。当然不能把map传给后端进行删除数据的sql操作。</span>
<span style="font-family:Microsoft YaHei;font-size:12px;">方法是把这句话删掉即可。 如果要提示,在主线程中Toast。</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐