#java #android #android-recyclerview #pagination
Вопрос:
Здравствуйте, ребята, пожалуйста, как я могу добавить pagingnation в recycleview в Android studio с помощью java. Я пытаюсь загрузить фотографии из базы данных firebase, которая работает нормально, но проблема в том, что она пытается загрузить все фотографии сразу, что замедляет работу приложения. Как я могу сначала загрузить в список 6 фотографий, а когда пользователь прокручивает его, загрузить больше фотографий.
Вот мой код для моего моего фрагмента
фрагмент открытого класса MemesFragment расширяет фрагмент {
private RecyclerView recyclerViewMemePosts;
private MemePostAdapter memePostAdapter;
private List<MemePosts> memePosts;
private DatabaseReference root = FirebaseDatabase.getInstance().getReference("MemePosts");
private ProgressBar progressBar;
private Button upload;
private Context mContext;
private AdView mAdView, adView;
private ImageView shocker;
private InterstitialAd mInterstitialAd;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_memes, container, false);
try {
progressBar = view.findViewById(R.id.progress_circular);
shocker = view.findViewById(R.id.memeMaker);
shocker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(mContext, MemeMakerActivity.class));
}
});
recyclerViewMemePosts = view.findViewById(R.id.recycleViewPostsMeme);
recyclerViewMemePosts.setHasFixedSize(true);
recyclerViewMemePosts.setItemViewCacheSize(20);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
linearLayoutManager.setStackFromEnd(true);
linearLayoutManager.setReverseLayout(true);
recyclerViewMemePosts.setLayoutManager(linearLayoutManager);
memePosts = new ArrayList<>();
memePostAdapter = new MemePostAdapter(getContext(), memePosts);
recyclerViewMemePosts.setAdapter(memePostAdapter);
mContext = getActivity();
root.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
try {
for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
MemePosts model = dataSnapshot.getValue(MemePosts.class);
memePosts.add(model);
}
memePostAdapter.notifyDataSetChanged();
progressBar.setVisibility(View.GONE);
} catch (Exception e) {
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
upload = view.findViewById(R.id.Upload);
upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(mContext, MemePostActivity.class));
}
});
MobileAds.initialize(mContext, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
MobileAds.initialize(mContext, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
mAdView = view.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
adView.loadAd(adRequest);
} catch (Exception e) {
e.getMessage();
}
return view;
}
Комментарии:
1. Перейдите по этой ссылке. Я надеюсь, что это поможет: androidwave.com/pagination-in-recyclerview