Advertisement
Guest User

Untitled

a guest
Apr 18th, 2014
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. public class ProfessionnelFragment extends ListFragment implements SwipeRefreshLayout.OnRefreshListener {
  2.  
  3. // Append more data into the adapter
  4. public void customLoadMoreDataFromApi(final int offset) {
  5. // This method probably sends out a network request and appends new data items to your adapter.
  6. // Use the offset value and add it as a parameter to your API request to retrieve paginated data.
  7. // Deserialize API response and then construct new objects to append to the adapter
  8. Thread thread = new Thread(new Runnable(){
  9. @Override
  10. public void run() {
  11.  
  12. try {
  13. HttpHeaders requestHeaders = new HttpHeaders();
  14. List<MediaType> acceptableMedia = new ArrayList<MediaType>();
  15. acceptableMedia.add(MediaType.APPLICATION_JSON);
  16.  
  17. requestHeaders.setAccept(acceptableMedia);
  18. HttpEntity< ?> requestEntity = new HttpEntity<Object>(requestHeaders);
  19. RestTemplate restTemplate = new RestTemplate();
  20. restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
  21. ResponseEntity<Profil[]> responseEntity = restTemplate.exchange("http://192.168.1.124/Symfony/web/app_dev.php/api/v1/profils.json?offset="+offset, HttpMethod.GET, requestEntity, Profil[].class);
  22. pagesToAdd = Arrays.asList( responseEntity.getBody());
  23.  
  24. } catch (Exception e) {
  25. e.printStackTrace();
  26. }
  27. }
  28. });
  29.  
  30. thread.start();
  31.  
  32. length = pages.size() ;
  33. if(pagesToAdd!=null && pagesToAdd.size()>0)
  34. for(Profil p : pagesToAdd){
  35. pages.add( p);
  36. length++;
  37. }
  38. getActivity().runOnUiThread(new Runnable() {
  39. @Override
  40. public void run() {
  41. adapter = new ProfessionnelAdapter(getActivity(), pages);
  42. adapter.notifyDataSetChanged();
  43. }
  44. });
  45.  
  46. }
  47.  
  48. @Override
  49. public void onActivityCreated(Bundle savedInstanceState) {
  50. super.onActivityCreated(savedInstanceState);
  51. Thread thread = new Thread(new Runnable(){
  52. @Override
  53. public void run() {
  54.  
  55. try {
  56. HttpHeaders requestHeaders = new HttpHeaders();
  57. List<MediaType> acceptableMedia = new ArrayList<MediaType>();
  58. acceptableMedia.add(MediaType.APPLICATION_JSON);
  59.  
  60. requestHeaders.setAccept(acceptableMedia);
  61. HttpEntity< ?> requestEntity = new HttpEntity<Object>(requestHeaders);
  62. RestTemplate restTemplate = new RestTemplate();
  63. restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
  64. ResponseEntity<Profil[]> responseEntity = restTemplate.exchange("http://192.168.1.124/Symfony/web/app_dev.php/api/v1/profils.json", HttpMethod.GET, requestEntity, Profil[].class);
  65. pages = Arrays.asList(responseEntity.getBody());
  66. getActivity().runOnUiThread(new Runnable() {
  67. @Override
  68. public void run() {
  69. adapter = new ProfessionnelAdapter(getActivity(), pages);
  70. setListAdapter(adapter);
  71. }
  72. });
  73. } catch (Exception e) {
  74. e.printStackTrace();
  75. }
  76. }
  77. });
  78. thread.start();
  79. setAppearance();
  80. // Attach the listener to the AdapterView onCreate
  81. getListView().setOnScrollListener(new EndlessScrollListener() {
  82. @Override
  83. public void onLoadMore(int page, int totalItemsCount) {
  84. // Triggered only when new data needs to be appended to the list
  85. // Add whatever code is needed to append new items to your AdapterView
  86. customLoadMoreDataFromApi(page);
  87. // or customLoadMoreDataFromApi(totalItemsCount);
  88. }
  89. });
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement