错误是:
"cannot resolve constructor jsonobjectrequest(int,
java.lang.string, null, anonymous
com.android.volley.Response.Listener<org.json.JSONObject>,anonymous
com.android.volley.Response.ErrorListener)
代码错误:
//NuevaviciciónJSONObject
jsArrayRequest = new JsonObjectRequest(
Request.Method.GET,
URL_BASE + URL_JSON,
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
items = parseJson(response);
notifyDataSetChanged();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d(TAG, "Error Respuesta en JSON: " + error.getMessage());
}
}
);
代码类:
// Atributos
private RequestQueue requestQueue;
JsonObjectRequest jsArrayRequest;
private static final String URL_BASE = "http://servidorexterno.site90.com/datos";
private static final String URL_JSON = "/social_media.json";
private static final String TAG = "PostAdapter";
List<Post> items;
public PostAdapter(Context context) {
super(context,0);
// Crear nueva cola de peticiones
requestQueue= Volley.newRequestQueue(context);
// Nueva petición JSONObject
jsArrayRequest = new JsonObjectRequest(
Request.Method.GET,
URL_BASE + URL_JSON,
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
items = parseJson(response);
notifyDataSetChanged();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d(TAG, "Error Respuesta en JSON: " + error.getMessage());
}
}
);
// Añadir petición a la cola
requestQueue.add(jsArrayRequest);
}
@Override
public int getCount() {
return items != null ? items.size() : 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
// Referencia del view procesado
View listItemView;
//Comprobando si el View no existe
listItemView = null == convertView ? layoutInflater.inflate(
R.layout.post,
parent,
false) : convertView;
// Obtener el item actual
Post item = items.get(position);
// Obtener Views
TextView textoTitulo = (TextView) listItemView.
findViewById(R.id.textoTitulo);
TextView textoDescripcion = (TextView) listItemView.
findViewById(R.id.textoDescripcion);
final ImageView imagenPost = (ImageView) listItemView.
findViewById(R.id.imagenPost);
// Actualizar los Views
textoTitulo.setText(item.getObjectno());
textoDescripcion.setText(item.getDrivername());
// Petición para obtener la imagen
ImageRequest request = new ImageRequest(
URL_BASE + item.getObjectname(),
new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
imagenPost.setImageBitmap(bitmap);
}
}, 0, 0, null,null,
new Response.ErrorListener() {
public void onErrorResponse(VolleyError error) {
imagenPost.setImageResource(R.drawable.error);
Log.d(TAG, "Error en respuesta Bitmap: "+ error.getMessage());
}
});
// Añadir petición a la cola
requestQueue.add(request);
return listItemView;
}
public List<Post> parseJson(JSONObject jsonObject){
// Variables locales
List<Post> posts = new ArrayList();
JSONArray jsonArray= null;
try {
// Obtener el array del objeto
jsonArray = jsonObject.getJSONArray("items");
for(int i=0; i<jsonArray.length(); i++){
try {
JSONObject objeto= jsonArray.getJSONObject(i);
Post post = new Post(
objeto.getString("titulo"),
objeto.getString("descripcion"),
objeto.getString("imagen"));
posts.add(post);
} catch (JSONException e) {
Log.e(TAG, "Error de parsing: "+ e.getMessage());
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return posts;
}
}
答案 0 :(得分:0)
传递null作为第三个参数是导致错误的原因。尝试传递一个空字符串。您可以从链接中找到解决方案:http://java-lang-programming.com/en/articles/33