2014-10-21 49 views
0

我從Android Developer站點的Volley培訓中嘗試實施示例:來自此處的GSON請求https://developer.android.com/training/volley/request-custom.html如何擴展Volley響應(修復'com.android.volley.Response'中沒有默認構造函數)

當我嘗試和延長反應,我得到一個消息說"There is no default constructor available in 'com.android.volley.Response'

public class AlertCountResponse extends Response implements Serializable{ 

    @SerializedName("alertCount") 
    private int mAlertCount; 
} 

如何延長com.android.volley.Response?

謝謝,

回答

1

你不能擴展它,因爲它有私人的構造函數。

但是,如果您確實需要自定義Response類,則可以編譯自己的自定義排球庫。這也很簡單!

$ git clone https://android.googlesource.com/platform/frameworks/volley 

現在通過你喜歡的文件瀏覽器訪問./volley/src/com/android/volley/Response.java和編輯根據自己的需要

然後回到在控制檯上,完成編譯庫:

$ cd volley 
$ /path_to_sdk/tools/android update project -p . --target android-21 
$ ant jar 

一旦這樣做,複製凌空。罐子到YourProject/app/libs/,你很好走!

2

您可以通過創建一個構造函數來擴展請求,該構造函數接受(method,url,listener和error listener),並在構造函數中調用Request的公共構造函數。 Request的公共構造函數將調用私有的默認構造函數。

public MyRequestClass (int method, String url, Listener<String> listener, ErrorListener errorListener) { 
     super(method, url, errorListener); 
     mListener = listener; 
    } 
相關問題