Tecnologia do Blogger.
RSS

[androidbrasil-dev] Re: Erro totalmente sem sentido - HELP

Tenta fazer um catch mais genérico catch (Throwable t), as vezes tá dando algum outro tipo de exceção.

Em quinta-feira, 28 de novembro de 2013 18h55min34s UTC-2, Matheus Henrique da Silva escreveu:
Tudo começa em um DialogFragment que, quando é chamado carrega e exibe os items de uma tabela no sqlite. Antes disso, ele verifica se a lista retornada tem tamanho maior que zero, em caso positivo, da dismiss no dialog enquanto exibe uma mensagem de que a lista está vazia.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
lista = CardapioActivity.db.getListaPedido();
} catch (JSONException e) {
e.printStackTrace();
}
if (lista.size() == 0) {
Toast.makeText(getActivity(), "A lista de pedidos está vazia.",
Toast.LENGTH_SHORT).show();
dismiss();
}
}

public ArrayList<ItemPedido> getListaPedido() throws JSONException{

db = this.getReadableDatabase();

ArrayList<ItemPedido> listapedidos = new ArrayList<ItemPedido>();

Cursor c = db.query(TABELA_PEDIDOS, null, null, null, null, null, null);

int tipo;

if (c.moveToFirst()) {
do {
Log.i("lf", String.valueOf(c.getInt(c
.getColumnIndex(Database.COL_TIPO_ITEM))));

tipo = c.getInt(c.getColumnIndex(Database.COL_TIPO_ITEM));

switch (tipo) {
case ItemCardapio.TIPO_PIZZA:
listapedidos.add(new ItemPedido_Pizza(c));
break;
case ItemCardapio.TIPO_PIZZA_DOCE:
listapedidos.add(new ItemPedido_Pizza(c));
break;
case ItemCardapio.TIPO_MASSA:
listapedidos.add(new ItemPedido_Massa(c));
break;
default:
listapedidos.add(new ItemPedido(c));
break;
}
} while (c.moveToNext());
}
db.close();
return listapedidos;

}

De maneira inexplicável, ao passar pela linha
tipo = c.getInt(c.getColumnIndex(Database.COL_TIPO_ITEM));
ele vai direto para o 
catch (JSONException e) {
e.printStackTrace();
}

e o pior, no debug o valor de e é null, enquanto isso aquele Log.i esta imprimindo o valor 1, que é o correto.

Então, pelos sete infernos, por que esta lançando um JSONException ao atribuir esse 1 à variavel tipo?




--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário