Ich habe diesen Fehler, eigentlich weiß ich nicht über Fragmente.Probleme mit Fragment mit RecyclerView und Retrofit
CreatView
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_inicio, container,
false);
getActivity().setTitle(R.string.inicio);
recyclerView = (RecyclerView) rootView.findViewById(R.id.card_recycler_view);
recyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
loadJSON();
return rootView;
}
loadJson Leere
private void loadJSON(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://192.168.1.42:3000/")
.addConverterFactory(GsonConverterFactory.create())
.build();
RequestInterface request = retrofit.create(RequestInterface.class);
Call<JSONResponse> call = request.getJSON();
call.enqueue(new Callback<JSONResponse>() {
@Override
public void onResponse(Call<JSONResponse> call, Response<JSONResponse> response) {
JSONResponse jsonResponse = response.body();
data = new ArrayList<>(Arrays.asList(jsonResponse.getCupon()));
adapter = new CuponAdapter(data);
recyclerView.setAdapter(adapter);
}
@Override
public void onFailure(Call<JSONResponse> call, Throwable t) {
Log.d("Error", t.getMessage());
}
});
}
Adapter
public class CuponAdapter extends RecyclerView.Adapter<CuponAdapter.ViewHolder> {
private ArrayList<Cupon> cupon;
public CuponAdapter(ArrayList<Cupon> cupon) {
this.cupon = cupon;
}
@Override
public CuponAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.card_row, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int i) {
holder.tv_titulo.setText(cupon.get(i).getTitulo());
holder.tv_empresa.setText(cupon.get(i).getEmpresa());
holder.tv_descripcion.setText(cupon.get(i).getDescripcion());
}
@Override
public int getItemCount() {
return cupon.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView tv_titulo, tv_descripcion, tv_empresa;
public ViewHolder(View view) {
super(view);
tv_titulo = (TextView) view.findViewById(R.id.tv_titulo);
tv_descripcion = (TextView) view.findViewById(R.id.tv_descripcion);
tv_empresa = (TextView) view.findViewById(R.id.tv_empresa);
}
}
}
Der Fehler
12-08 00: 00: 05.727 1784-1784/com.mighty.cupoferta E/RecyclerView: No Adapter angebracht ist; Layout überspringen
Dieser Code basiert auf this Link. Aber er erklärt, wie man eine Aktivität einrichtet, wie kann ich ein Fragment einfügen?
haben Sie Ihre Arraylist überprüft – YoLo