Merche300
06/12/16, 11:08:52
Veran, tengo un problema tanto con Glide, e de decir que tambien me pasa con Picasso.
public class MainActivity extends AppCompatActivity {
public static final String JSON_URL = "http://juveniles.esy.es/Temp_Actual/calendario.php";
private ListView listView;
override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendRequest();
listView = (ListView) findViewById(R.id.listView);
}
private void sendRequest(){
StringRequest stringRequest = new StringRequest(JSON_URL,
new Response.Listener<String>() {
override
public void onResponse(String response) {
showJSON(response);
}
},
new Response.ErrorListener() {
override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.getMessage( ),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String json){
ParseJSON pj = new ParseJSON(json);
pj.parseJSON();
CustomList cl = new CustomList(this, ParseJSON.ids,ParseJSON.names,ParseJSON.emails,Par seJSON.escudo_local);
listView.setAdapter(cl);
}
public void onClick(View v) {
sendRequest();
}
}
CustomList.java
public class CustomList extends ArrayAdapter<String> {
private String[] ids;
private String[] names;
private String[] emails;
private String[] escudo_local;
private Activity context;
public CustomList(Activity context, String[] ids, String[] names, String[] emails,
String[] escudo_local) {
super(context, R.layout.list_view_layout, ids);
this.context = context;
this.ids = ids;
this.names = names;
this.emails = emails;
this.escudo_local = escudo_local;
}
override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.list_view_layout, null, true);
TextView textViewId = (TextView) listViewItem.findViewById(R.id.textViewId);
TextView textViewName = (TextView) listViewItem.findViewById(R.id.textViewName);
TextView textViewEmail = (TextView) listViewItem.findViewById(R.id.textViewEmail);
ImageView imageViewImage = (ImageView) listViewItem.findViewById(R.id.imageViewImage);
textViewId.setText(ids[position]);
textViewName.setText(names[position]);
textViewEmail.setText(emails[position]);
Glide.with(context)
.load(listViewItem.get(position).getImage())
.diskCacheStrategy(DiskCacheStrategy.ALL)
.transform(new GlideCircleTransform(context))
.placeholder(R.mipmap.ic_launcher)
.error(android.R.drawable.ic_dialog_alert)
.into(imageViewImage);
return listViewItem;
}
}
ParseJSON.java
public class ParseJSON {
public static String[] ids;
public static String[] names;
public static String[] emails;
public static String[] escudo_local;
public static final String JSON_ARRAY = "jornadas";
public static final String KEY_ID = "nomLocal";
public static final String KEY_NAME = "jornada";
public static final String KEY_EMAIL = "nomVisitante";
public static final String KEY_ESCUDO_LOCAL = "escudoLocal";
private JSONArray calendario = null;
private String json;
public ParseJSON(String json){
this.json = json;
}
protected void parseJSON(){
JSONObject jsonObject=null;
try {
jsonObject = new JSONObject(json);
calendario = jsonObject.getJSONArray(JSON_ARRAY);
ids = new String[calendario.length()];
names = new String[calendario.length()];
emails = new String[calendario.length()];
escudo_local = new String[calendario.length()];
for(int i=0;i<calendario.length();i++){
JSONObject jo = calendario.getJSONObject(i);
ids[i] = jo.getString(KEY_ID);
names[i] = jo.getString(KEY_NAME);
emails[i] = jo.getString(KEY_EMAIL);
escudo_local[i] = ("http://ffcv.es/ncompeticiones/")+jo.getString(KEY_ESCUDO_LOCAL);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
Y la pregunta es:
¿Porque en la linea
.load(listViewItem.get(position).getImage())
la palabra get me sale en rojo y como solucionarlo ?
Gracias
public class MainActivity extends AppCompatActivity {
public static final String JSON_URL = "http://juveniles.esy.es/Temp_Actual/calendario.php";
private ListView listView;
override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendRequest();
listView = (ListView) findViewById(R.id.listView);
}
private void sendRequest(){
StringRequest stringRequest = new StringRequest(JSON_URL,
new Response.Listener<String>() {
override
public void onResponse(String response) {
showJSON(response);
}
},
new Response.ErrorListener() {
override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.getMessage( ),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String json){
ParseJSON pj = new ParseJSON(json);
pj.parseJSON();
CustomList cl = new CustomList(this, ParseJSON.ids,ParseJSON.names,ParseJSON.emails,Par seJSON.escudo_local);
listView.setAdapter(cl);
}
public void onClick(View v) {
sendRequest();
}
}
CustomList.java
public class CustomList extends ArrayAdapter<String> {
private String[] ids;
private String[] names;
private String[] emails;
private String[] escudo_local;
private Activity context;
public CustomList(Activity context, String[] ids, String[] names, String[] emails,
String[] escudo_local) {
super(context, R.layout.list_view_layout, ids);
this.context = context;
this.ids = ids;
this.names = names;
this.emails = emails;
this.escudo_local = escudo_local;
}
override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.list_view_layout, null, true);
TextView textViewId = (TextView) listViewItem.findViewById(R.id.textViewId);
TextView textViewName = (TextView) listViewItem.findViewById(R.id.textViewName);
TextView textViewEmail = (TextView) listViewItem.findViewById(R.id.textViewEmail);
ImageView imageViewImage = (ImageView) listViewItem.findViewById(R.id.imageViewImage);
textViewId.setText(ids[position]);
textViewName.setText(names[position]);
textViewEmail.setText(emails[position]);
Glide.with(context)
.load(listViewItem.get(position).getImage())
.diskCacheStrategy(DiskCacheStrategy.ALL)
.transform(new GlideCircleTransform(context))
.placeholder(R.mipmap.ic_launcher)
.error(android.R.drawable.ic_dialog_alert)
.into(imageViewImage);
return listViewItem;
}
}
ParseJSON.java
public class ParseJSON {
public static String[] ids;
public static String[] names;
public static String[] emails;
public static String[] escudo_local;
public static final String JSON_ARRAY = "jornadas";
public static final String KEY_ID = "nomLocal";
public static final String KEY_NAME = "jornada";
public static final String KEY_EMAIL = "nomVisitante";
public static final String KEY_ESCUDO_LOCAL = "escudoLocal";
private JSONArray calendario = null;
private String json;
public ParseJSON(String json){
this.json = json;
}
protected void parseJSON(){
JSONObject jsonObject=null;
try {
jsonObject = new JSONObject(json);
calendario = jsonObject.getJSONArray(JSON_ARRAY);
ids = new String[calendario.length()];
names = new String[calendario.length()];
emails = new String[calendario.length()];
escudo_local = new String[calendario.length()];
for(int i=0;i<calendario.length();i++){
JSONObject jo = calendario.getJSONObject(i);
ids[i] = jo.getString(KEY_ID);
names[i] = jo.getString(KEY_NAME);
emails[i] = jo.getString(KEY_EMAIL);
escudo_local[i] = ("http://ffcv.es/ncompeticiones/")+jo.getString(KEY_ESCUDO_LOCAL);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
Y la pregunta es:
¿Porque en la linea
.load(listViewItem.get(position).getImage())
la palabra get me sale en rojo y como solucionarlo ?
Gracias