Я хочу использовать бесконечную прокрутку, и я сделал это, но если я могу использовать gridlayoutmanager, это очень хорошая бесконечная прокрутка, но если я использую staggeredlayout manager, это всегда прокрутка вверх, почему?
когда я соответствую высоте изображения, это очень хорошо, но я хочу использовать перенос, пожалуйста, помогите
извините мой плохой английский
Я не могу правильно задать вопрос, потому что мой английский не очень хорош. Если вы не понимаете, я могу попытаться это исправить.
но моя проблема в том, что бесконечная прокрутка - это проблема, если высота изображений не ясна.
это мой код
manager=new StaggeredGridLayoutManager(3,1);
chat_rec_adapter=new recc_adapter(getActivity(),liste);
recyclerView.setAdapter(chat_rec_adapter);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(manager);
этот код запускается при запуске приложения
private void setadapter() {
Object query;
DatabaseReference kref=ref.child("yarisma").child("kadın");
Query mes=kref.orderByChild("timeeksi").limitToFirst( current_page*Total_item_load);
mes.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
itemposion++;
liste.add(dataSnapshot.getValue(item_home.class));
swipyRefreshLayout.setRefreshing(false);
progressorta.setVisibility(View.VISIBLE);
chat_rec_adapter.notifyDataSetChanged();
gununtv.setVisibility(View.INVISIBLE);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
когда я прокручиваю этот код внизу
private void setmoreavdapter() {
Object query;
DatabaseReference kkref=ref.child("yarisma").child("kadın");
Query mes=ref.child("yarisma").child("kadın").orderByChild("timeeksi").limitToFirst(current_page*Total_item_load);
mes.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot snapshot:dataSnapshot.getChildren()) {
itempp++;
if(itempp>itemposion){
liste.add(itemposion++,snapshot.getValue(item_home.class));
if(itemposion==current_page*Total_item_load) {
itempp=0;
}
}}
chat_rec_adapter.notifyDataSetChanged();
swipyRefreshLayout.setRefreshing(false);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
это мой адаптер
public class recc_adapter extends RecyclerView.Adapter<recc_adapter.MyHolder> {
private Context context;
private List<item_home> liste;
public String gelenkey;
public boolean isSpeakButtonLongPressedd;
public recc_adapter(Context context, List<item_home> liste) {
this.context = context;
this.liste = liste;
}
@Override
public recc_adapter.MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.staggerd, parent, false);
return new recc_adapter.MyHolder(view);
}
@Override
public void onBindViewHolder(final recc_adapter.MyHolder holder, int position) {
final item_home itemhome = liste.get(position);
Glide.with(context)
.load(itemhome.getBitimg())
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(holder.image);
}
@Override
public int getItemCount() {
return liste.size();
}
public class MyHolder extends RecyclerView.ViewHolder {
AppCompatImageView image;
public MyHolder(View itemView) {
super(itemView);
image = itemView.findViewById(R.id.simpl);
}
}
}