quindi le persone o: non conoscono la risposta a questa domanda o b: non sono disposti a condividere la conoscenza.
In ogni caso, dopo tanto tempo, ho trovato la mia soluzione. Ho aggiunto un ascoltatore di scorrimento per la mia griglia e calcolato quando ho scorrere verso il basso dello schermo, a questo punto mi ricordo il metodo onRefresh() dal colpo per rinfrescare ...
EDIT per aggiungere ulteriori informazioni
Così, dopo ho fatto qualche ricerca per calcolare quando l'utente ha raggiunto il fondo di una visualizzazione a griglia che ho seguito a domande come this e altri per ottenere questo. Di seguito è riportato il mio codice che ho dovuto modificare per far funzionare la funzionalità di aggiornamento nativa. Le mie alterazioni erano di impedire il costante aggiornamento. Così incluso nella mia istruzione if è un controllo che non è attualmente in fase di aggiornamento, quindi quando ho raggiunto il fondo è stato aggiornato, ma non ho avuto tale controllo in modo che venga costantemente aggiornato. Ho quindi dovuto fare un controllo sulla quantità totale di articoli nella mia griglia, poiché quando l'utente ha raggiunto l'ultimo elemento (ultimo elemento) l'app ha continuato a rinfrescare e non c'era nulla da rompere il ciclo. Speriamo che questo sia di qualche aiuto ...
worldBeersGrid.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int position = firstVisibleItem+visibleItemCount;
int limit = totalItemCount;
int totalItems = sharedpreferences.getInt("WORLD ITEM COUNT", 0);
Log.i("TOTAL WORLD ITEMS", String.valueOf(totalItems));
Log.i("LIMIT :::::::::::: ", String.valueOf(limit));
Log.i("POSITION ::::::::::::", String.valueOf(position));
Log.i("REFRESHING :::::::::::::::", String.valueOf(swipeRefreshLayout.isRefreshing()));
if(position>=limit && totalItemCount>0 && !swipeRefreshLayout.isRefreshing() && position <totalItems){
swipeRefreshLayout.setRefreshing(true);
//In the below method I made my call to my ws...
onRefresh();
}
}
});
fonte
2014-08-13 15:46:32
Hey @ DJ-DOO, ho appena provato replicare questo comportamento e sto avendo difficoltà. Ho usato http://nlopez.io/swiperefreshlayout-with-listview-done-right/ per correggere i primi aggiornamenti sul mio gridview, ma non riesco a calcolare dove si trova il fondo della mia lista. Potresti modificare la tua risposta con come hai calcolato il fondo? Grazie! –