關於volley請求沒有回調信息的解決方法

最近做項目遇到一個很煩心的問題,就是刪除評論模塊,要用到接口,這個我是用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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章