your tag manager googletagmanager google from for developers container apps android firebase android-recyclerview firebase-database android-scrollview

android - googletagmanager - tag manager developers



Firebase carga datos dinĂ¡micamente al desplazarse (3)

Firebase tiene FirebaseRecyclerAdapter para conectar RecyclerView directamente a la base de datos de firebase. Consulte la aplicación de muestra FriendlyChat de google para obtener más información: https://github.com/firebase/friendlychat

Necesito saber cómo cargar datos dinámicamente al desplazarse con Firebase. Si consulto datos con Firebase, todos los datos se deben cargar una vez o siempre se cambian los datos. Quiero cargar datos con Firebase por límite, y después de alcanzar este límite, cargar más datos y más y más.

Básicamente sería como una línea de tiempo de Facebook, como una red social.

Por ejemplo: quiero obtener los últimos registros de Firebase en el límite 50. Después de alcanzar este límite, descargaré los siguientes 50 datos. Me gustaría usar RecyclerView y no la clase FirebaseRecycler .

FirebaseRecyclerAdapter no resuelve mi pregunta. Gracias por la ayuda. En verdad, necesito cargar datos como la línea de tiempo de facebook del diseño de vista de puntos, y cargar los datos de Firebase (50 a 50. Descargar 50 datos, alcanzar el límite, cargar más datos del diseño inferior a 50) de la vista de puntos de la base de datos.

¿Usted me podría ayudar?


Esto funciona perfectamente

// Implement scroll listener public void implementScrollListener() { recyclerView .addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); // If scroll state is touch scroll then set userScrolled // true if (newState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) { userScrolled = true; } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); // Here get the child count, item count and visibleitems // from layout manager visibleItemCount = mLayoutManager.getChildCount(); totalItemCount = mLayoutManager.getItemCount(); pastVisiblesItems = mLayoutManager .findFirstVisibleItemPosition(); // Now check if userScrolled is true and also check if // the item is end then update recycler view and set // userScrolled to false if (userScrolled && (visibleItemCount + pastVisiblesItems) == totalItemCount) { userScrolled = false; RefreshData(oldestPostId); } } }); }


puede usar los métodos startAt (), endAt () e equalTo (), enlace oficial ingrese la descripción del enlace aquí

// Find all dinosaurs that are at least three meters tall. var ref = firebase.database().ref("dinosaurs"); ref.orderByChild("height").startAt(3).on("child_added", function(snapshot) { console.log(snapshot.key) });

respondió: https://.com/a/41583467/1429832