我正在过滤数据库中的值,因此我将过滤后的数据存储到JsonArray中,并且希望在屏幕上显示此数据,因此需要将其传递给适配器。这是我的过滤代码:
for(int i;i=0;i<metas.length;i++){
if(metas[i].getId() != null && metas[i].getId_musico().equals(myId)){
filteredArr.put(metas[i]);
}
}
结果是这样的:
2018-10-14 18:52:36.813 1117-1117/app.bsmo.ismael034.com.bsmo D/miidfx: app.bsmo.ismael034.com.bsmo.Asistencia.Meta_Asistencia@7da4546
2018-10-14 18:52:36.813 1117-1117/app.bsmo.ismael034.com.bsmo D/miidfx: app.bsmo.ismael034.com.bsmo.Asistencia.Meta_Asistencia@32f0307
这是我的适配器的完整代码:
JSONArray mensaje = response.getJSONArray("metas");
Meta_Asistencia[] metas = gson.fromJson(mensaje.toString(), Meta_Asistencia[].class);
Log.d("miidfx2", String.valueOf(metas));
JSONArray filteredArr = response.getJSONArray("metas");
// APLICACIÓN DE ORDEN:
// Ordenar el array de metas por idMeta de forma descendente:
Arrays.sort(metas, new Comparator<Meta_Asistencia>() {
int result;
DateFormat f = new SimpleDateFormat("yyyy-mm-dd", Locale.ENGLISH);
@Override
public int compare(Meta_Asistencia objeto1, Meta_Asistencia objeto2) {
Log.d("DIATX", String.valueOf(5));
// Comparamos por fechaLim de forma descendente:
try {
Log.d("DIATX", String.valueOf(6));
result = f.parse(objeto2.dia).compareTo(f.parse(objeto1.dia));
Log.d("DIA", objeto1.dia);
Log.d("DIA1", objeto2.dia);
Log.d("ordenar", String.valueOf(result));
} catch (ParseException e) {
e.printStackTrace();
Log.d("DIATX", String.valueOf(7));
}
return result;
}
});
int i;
Log.d("miidf", myId);
for( i=0;i<metas.length;i++){
Log.d("miidf1", String.valueOf(metas[i].getId_musico()));
if(metas[i].getId() != null && metas[i].getId_musico().equals(myId)){
filteredArr.put(metas[i]);
Log.d("miidfx", String.valueOf(metas[i]));
}
}
adapter = new MetaAdapter_Asistencia(Arrays.asList(metas[Integer.parseInt(myId)]), getActivity());
// Setear adaptador a la lista
lista.setAdapter(adapter);
所以我需要将firteredArr传递给我的适配器并显示此数据。