Non sono sicuro che questa sia una risposta completa, ma almeno è un inizio:
per l'impaginazione con RecycleView è necessario ascoltare l'evento onScroll
si prega di fare riferimento a questo per maggiori informazioni:
link
e questo:
link
per la parte dello stato vorrei iniziare con questo:
link
ovviamente questa non è una soluzione completa, devi conservare sia l'indice della pagina che l'indice del primo elemento visibile su quella pagina quando salvi quel livello. la cosa più semplice che farei (supponendo che tu abbia un piccolo set di dati) è salvare le prime 3 cifre della pagina e le ultime 2 per l'indice del primo elemento visibile quindi la pagina 3 l'elemento 4 sarebbe 00304
Spero che questo aiuti.