我在申请中使用Volley进行请求和回复。问题是我应该调用以下行来获取请求通过齐射并且这些行之间的差异只是巫师jsonArray
应该转换为的对象类型(如NewsItem)第二个问题是在获取后的xml布局中显示对象的值响应。有没有办法在一个方法中总结这些行,并在不同的对象类型之前调用此方法?
private void GetOnlineNewsContent() {
CacheRequest cacheRequest = new CacheRequest(ContentActivity.this,Request.Method.POST,
service_address,
new Response.Listener<NetworkResponse>() {
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
public void onResponse(NetworkResponse response) {
try {
final String jsonString = new String(response.data,
HttpHeaderParser.parseCharset(response.headers));
JSONArray jsonArray = new JSONArray(jsonString);
newsItem = NewsItem.fromJson(jsonArray.getJSONObject(0), term_id);
ShowContent(newsItem);
} catch (JSONException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
pDialog.hide();
}
});
答案 0 :(得分:1)
是。您应该在Java中查看并学习Generics
。
您需要使这个新方法接收泛型类型,然后对该类的特定类型执行操作。
为此,您的newItem
和其他3个类应该来自公共基类。
关于泛型的基础教程可以在这里找到, https://docs.oracle.com/javase/tutorial/java/generics/