我正在Android Developer网站上的Volley培训中尝试实施示例:来自此处的GSON请求https://developer.android.com/training/volley/request-custom.html
当我尝试扩展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?
谢谢,
答案 0 :(得分:2)
您可以通过创建一个构造函数来扩展Request,该构造函数接受(方法,url,侦听器和错误侦听器),并在构造函数中调用Request的公共构造函数。请求的公共构造函数将调用私有默认构造函数。
public MyRequestClass (int method, String url, Listener<String> listener, ErrorListener errorListener) {
super(method, url, errorListener);
mListener = listener;
}
答案 1 :(得分:1)
由于它具有私有构造函数,因此无法扩展它。
但是,如果您确实需要自定义Response类,则可以编译自己的自定义排球库。这也很容易!
$ git clone https://android.googlesource.com/platform/frameworks/volley
现在通过您的fav文件浏览器访问./volley/src/com/android/volley/Response.java
并根据您的需要进行编辑
然后回到控制台,完成编译库:
$ cd volley
$ /path_to_sdk/tools/android update project -p . --target android-21
$ ant jar
完成后,将volley.jar复制到YourProject/app/libs/
,您就可以了!