Hi,
I have a problem loading data from my backendless data to my list view fragment.It is always empty. Below is a copy of my code for the list fragment and the recyclerViewAdapter
//list fragment code
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_ronin_item_list, container, false);
final RecyclerView recyclerView = (RecyclerView)view.findViewById(R.id.recyclerView);
BackendlessDataQuery query = new BackendlessDataQuery();
Backendless.Data.of(Ronins.class).find(query,new AsyncCallback<BackendlessCollection<Ronins>>() {
@Override
public void handleResponse(BackendlessCollection<Ronins> roninsBackendlessCollection) {
ronins = roninsBackendlessCollection;
adapter = new RoninItemRecyclerViewAdapter(totalRonins, mListener,getContext());
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
Log.i("Pius", String.valueOf(totalRonins.size()));
addMoreItems(roninsBackendlessCollection);
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
}
});
return view;
}private void addMoreItems( BackendlessCollection<Ronins> nextPage )
{
totalRonins.addAll(nextPage.getCurrentPage());
adapter.notifyDataSetChanged();
}
//recyclerviewadapter codepublic class RoninItemRecyclerViewAdapter extends RecyclerView.Adapter<RoninItemRecyclerViewAdapter.ViewHolder> {
private List<Ronins> totalRonins = null;
private final OnListFragmentInteractionListener mListener;
private boolean isLoadingItems = false;
private Context context;
public RoninItemRecyclerViewAdapter(List<Ronins> ronins, OnListFragmentInteractionListener listener, Context context) {
this.totalRonins = ronins;
this.mListener = listener;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.fragment_ronin_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
final Ronins ronin = totalRonins.get(position);
holder.mIdView.setText(totalRonins.get(position).getRoninName());
holder.mContentView.setText(totalRonins.get(position).getRoninIntro());
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (null != mListener) {
// Notify the active callbacks interface (the activity, if the
// fragment is attached to one) that an item has been selected.
mListener.onListFragmentInteraction(ronin);
}
}
});
}
@Override
public int getItemCount() {
//return totalRonins == null ? 0 : totalRonins.size();
Log.i("Pius", String.valueOf(+ totalRonins.size()));
return totalRonins.size();
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
public class ViewHolder extends RecyclerView.ViewHolder {
public final View mView;
public final TextView mIdView;
public final TextView mContentView;
CardView card;
public ViewHolder(View view) {
super(view);
mView = view;
card = (CardView)view.findViewById(R.id.cardView);
mIdView = (TextView) view.findViewById(R.id.ronin_name);
mContentView = (TextView) view.findViewById(R.id.ronin_intro);
}
@Override
public String toString() {
return super.toString() + " '" + mContentView.getText() + "'";
}
}
}
When I sent a breakpoint on the line where I retrieve my backendless data i get a correct size for my list but the view doesn’t populate my data