Boa noite comunidade,
Eis meu problema: o call.enqueue não está chamando nem o onResponse nem o onFailure. Obs: Estou fazendo em um projeto a parte, acompanhando o projeto do curso "Curso Android com Web Service parte 1: Sincronize sua app com o servidor" funciona perfeitamente. coloquei logs e não está exibindo no console, nem o breakpoint em modo Debug entra no onResponse e onFailure. estou chamando em um fragment, isso influência? abaixo está a classe e o log do erro, o erro mostra que a List está null, mas como se vê no log o json é retornado normalmente do Server. Por favor, me ajudem =D
Fragment:
package br.com.aos.lanshow;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import java.util.List;
import br.com.aos.lanshow.adapter.ProdutosAdapter;
import br.com.aos.lanshow.modelo.Produto;
import br.com.aos.lanshow.retrofit.RetrofitInicializador;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
public class ListaProdutosFragment extends Fragment {
private List<Produto> produtos;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_lista_produtos, container, false);
getProdutosServer();
ProdutosAdapter adapter = new ProdutosAdapter(getContext(), produtos);
ListView lista = (ListView) view.findViewById(R.id.produtos_lista);
lista.setAdapter(adapter);
return view;
}
private void getProdutosServer() {
Call<List<Produto>> call = new RetrofitInicializador().getProdutoService().lista();
call.enqueue(new Callback<List<Produto>>() {
@Override
public void onResponse(Call<List<Produto>> call, Response<List<Produto>> response) {
Log.i("onResponse chamado", "onResponse: ");
produtos = response.body();
}
@Override
public void onFailure(Call<List<Produto>> call, Throwable t) {
Log.e("onFaillure chamado ", t.getMessage());
}
});
}
}