Ich habe meine Fragmentklasse so.Adapter aktualisiert und ändert die Recycleransicht nicht, notifyDataSetChanged funktioniert nicht
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_facebookfeeds,container,false);
mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view_facebook);
mRecyclerView.setHasFixedSize(true);
GetTimeline(TimelineUrl, next, new ServerCallback() {
@Override
public void onSuccess(Facebook result) {
next = result.getNext();
List<Facebook> newList = new ArrayList<>();
newList.add(result);
facebookList.clear();
facebookList.addAll(newList);
mAdapter = new FacebookAdapter(facebookList,getActivity());
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(mAdapter);
//mAdapter.notifyDataSetChanged();
}
});
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
visibleItemCount = mRecyclerView.getChildCount();
totalItemCount = mLayoutManager.getItemCount();
firstVisibleItem = mLayoutManager.findFirstVisibleItemPosition();
if (loading) {
if (totalItemCount > previousTotal) {
loading = false;
previousTotal = totalItemCount;
}
}
if (!loading && (totalItemCount - visibleItemCount)
<= (firstVisibleItem + visibleThreshold)) {
GetTimeline(TimelineUrl, next, new ServerCallback() {
@Override
public void onSuccess(Facebook result) {
next = result.getNext();
List<Facebook> newFacebook = new ArrayList<Facebook>();
newFacebook.add(result);
facebookList.clear();
facebookList.addAll(newFacebook);
mAdapter.notifyDataSetChanged();
System.out.println("New Adapter Item Count "+mAdapter.getItemCount());
}
});
loading = true;
}
}
});
// Inflate the layout for this fragment
return rootView;
}
Und mein Adapter ist so etwas.
Nicht wirklich sicher, was das Problem ist, ich habe viele Antworten gelesen viele Dinge versucht, aber nichts scheint zu helfen.
GetTimeline ist eine Methode mit Volley, die ich verwende, um Anrufe zu tätigen.