关于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>
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>
相关文章推荐
- 启动IIS提示“服务没有及时响应启动或控制请求”解决方法
- 启动IIS时提示“服务没有及时响应启动或控制请求”几种解决方法
- 启动IIS时提示“服务没有及时响应启动或控制请求”几种解决方法
- 启动IIS时提示“服务没有及时响应启动或控制请求”几种解决方法
- 关于wince 没有Key press事件的解决方法
- 启动IIS时提示“服务没有及时响应启动或控制请求”几种解决方法
- 启动IIS时提示“服务没有及时响应启动或控制请求”几种解决方法
- 关于:此页的状态信息无效,可能已损坏的解决方法
- 解决"System.Reflection.ReflectionTypeLoadException: 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性" 方法
- 无法向会话状态服务器发出会话状态请求 没有启动 ASP.NET State service错误的解决方法
- iis服务没有及时响应启动或控制请求错误产生原因及解决方法
- 关于锚点页内链接跳转出现问题(不响应,没有反应)的解决方法(ZT)
- 关于DateReport没有Orientation属性的解决方法
- 关于serv-u公网访问出现“打开ftp服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。详细信息:操作超时”的解决方法
- “将数据发送到运行IIS的计算机的请求失败.有关详细信息请参阅HRESULT”解决方法
- 关于serv-u公网访问出现“打开ftp服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹。详细信息:操作超时”的解决方法
- 关于——IIS服务没有及时响应启动或控制请求 的解决
- 关于系统检测到您机器上没有启动QQ的解决方法
- jfreechart出现ChartDeleter没有序列化问题导致session信息丢失的解决方法
- jfreechart出现ChartDeleter没有序列化问题导致session信息丢失的解决方法