I have an app on Android, where I use the Parse server with 100 stores registered. I need to insert text and image information into an Adapter 3. I already tried to insert a bitmap list as a parameter for ParseAdapter, but I can not do it.
Follow the code below
-
public void buscarLojas()
{
//
progressDialog = ProgressDialog.show(ActivityListarTodos.this, "", "Carregando...", true);
//
final List<Bitmap> bitmapList = new ArrayList<Bitmap>();
//
final ParseQuery<Lojas> query = new ParseQuery<>("Lojas");
query.findInBackground(new FindCallback<Lojas>()
{
@Override
public void done(final List<Lojas> list, ParseException e)
{
//
if (list == null || list.size() == 0)
{
Toast.makeText(context, "Erro, não foi possível carregar as informações", Toast.LENGTH_SHORT).show();
onBackPressed();
}
//
else
{
if (e != null)
{
//
Toast.makeText(context, "Erro: " + e.getMessage().toString(), Toast.LENGTH_SHORT).show();
}
//
else
{
//
for (final Lojas loja : list)
{
//
lAux = new Lojas();
//
lAux.setNome(loja.getNome());
lAux.setDistancia(calculoDistancia(userLatitude, userLongitude, loja.getLatitude(), loja.getLongitude()));
lAux.setHorarioFuncionamento(loja.getHorarioFuncionamento());
lAux.setTelefone(loja.getTelefone());
lAux.setLinkLoja(loja.getLinkLoja());
lAux.setNomeRua(loja.getNomeRua());
lAux.setObjectId(loja.getObjectId());
// ----------
ParseQuery<ParseObject> fotoQuery = new ParseQuery<ParseObject>("Lojas");
fotoQuery.getInBackground(lAux.getObjectId(), new GetCallback<ParseObject>()
{
@Override
public void done(ParseObject object, ParseException e)
{
//
ParseFile imagem = (ParseFile) object.get("foto");
//
imagem.getDataInBackground(new GetDataCallback()
{
@Override
public void done(byte[] bytes, ParseException e)
{
//
if(e != null)
{
Toast.makeText(context, "Não há imagem na lista", Toast.LENGTH_SHORT).show();
}
//
else
{
for (int i = 0; i <= 100; i++)
{
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
lAux.setFile(bitmap);
}
}
}
});
}
});
//
lojas.add(lAux);
//
adapter = new ParseAdapter(context, R.layout.celula_adapter, lojas);
//
list_lojas.setAdapter(adapter);
//
progressDialog.dismiss();
}
}
}
}
});
}