Я хочу изменить filter / orderBy с помощью viewpager, и мой viewpager в MainActivity выглядит следующим образом
viewPager = findViewById(R.id.viewpager);
viewPagerAdapter= new ViewPagerAdapter(getSupportFragmentManager());
viewPagerAdapter.AddFragment(new HomeFragment(),"Recent");
viewPagerAdapter.AddFragment(new HomeFragment(),"Score");
viewPager.setAdapter(viewPagerAdapter);
У меня есть запрос (position 0)
по умолчанию onCreateView (HomeFagment)
, например
mQuery = mCollection.orderBy("time", Query.Direction.DESCENDING);
Я пытался с этим, и порядок не изменился на "оценка"
viewPagerMain.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
switch (position){
case 0 :
mQuery = mPostsCollection.orderBy("time", Query.Direction.DESCENDING);
mAdapter.refresh();
break;
case 1 :
mQuery = mPostsCollection.orderBy("score", Query.Direction.DESCENDING);
mAdapter.refresh();
break;
}
});
final PagedList.Config mConfig = new PagedList.Config.Builder()
.setEnablePlaceholders(false)
.setPrefetchDistance(2)
.setPageSize(3)
.build();
FirestorePagingOptions<Post> options = new FirestorePagingOptions.Builder<Post>()
.setLifecycleOwner(this)
.setQuery(mQuery, mConfig, Post.class)
.build();