I'm making an android app that queries an http endpoint and displays the results with a list. Currently the results appear 10 at a time which the user navigates with next/prev. buttons. The other day I accidentally changed some code and the unintended consequence was that the next button instead of refreshing the list for the next 10 results appended the extra set of results to the original list. So instead of having [1,2,...,10] -> next -> [11,12,...,20]
it became [1,2,...,10] -> next -> [1,2,...,10,11,...,20]
. I think this is a much better way of displaying the results because I no longer have to worry about caching previous sets of results to save bandwidth and battery life and it's much easier for the user to compare and contrast the results. But now I don't know how to organize the UI. I still have a search button but what should I name the button that retrieves the next 10 results?
2 Answers
maybe like this
first view:
Item 1
Item 2
Item 3
Item 4
Item 5
[more items] <- a button
after button click:
Item 1
Item 2
Item 3
Item 4
Item 5
Item 6
Item 7
Item 8
Item 9
Item 10
[more items] <- a button
The scroll position is maintained, and the new results expand downwards after button click.
The word items on the button can be changed to "search results" or what ever your items are
Another possibility might be to ditch the buttons altogether, and implement continuous scrolling as some apps do. That is, fetch at least as many results as fit on the screen, but don't fetch and append any more until the user scrolls past the first batch, and so on. That can give a very natural feel to the interaction if the additional results can be fetched and displayed quickly enough, but may or may not be appropriate for your use cases (or your data model).