Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ProfessionnelFragment extends ListFragment implements SwipeRefreshLayout.OnRefreshListener {
- // Append more data into the adapter
- public void customLoadMoreDataFromApi(final int offset) {
- // This method probably sends out a network request and appends new data items to your adapter.
- // Use the offset value and add it as a parameter to your API request to retrieve paginated data.
- // Deserialize API response and then construct new objects to append to the adapter
- Thread thread = new Thread(new Runnable(){
- @Override
- public void run() {
- try {
- HttpHeaders requestHeaders = new HttpHeaders();
- List<MediaType> acceptableMedia = new ArrayList<MediaType>();
- acceptableMedia.add(MediaType.APPLICATION_JSON);
- requestHeaders.setAccept(acceptableMedia);
- HttpEntity< ?> requestEntity = new HttpEntity<Object>(requestHeaders);
- RestTemplate restTemplate = new RestTemplate();
- restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
- 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);
- pagesToAdd = Arrays.asList( responseEntity.getBody());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- thread.start();
- length = pages.size() ;
- if(pagesToAdd!=null && pagesToAdd.size()>0)
- for(Profil p : pagesToAdd){
- pages.add( p);
- length++;
- }
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- adapter = new ProfessionnelAdapter(getActivity(), pages);
- adapter.notifyDataSetChanged();
- }
- });
- }
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- Thread thread = new Thread(new Runnable(){
- @Override
- public void run() {
- try {
- HttpHeaders requestHeaders = new HttpHeaders();
- List<MediaType> acceptableMedia = new ArrayList<MediaType>();
- acceptableMedia.add(MediaType.APPLICATION_JSON);
- requestHeaders.setAccept(acceptableMedia);
- HttpEntity< ?> requestEntity = new HttpEntity<Object>(requestHeaders);
- RestTemplate restTemplate = new RestTemplate();
- restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
- ResponseEntity<Profil[]> responseEntity = restTemplate.exchange("http://192.168.1.124/Symfony/web/app_dev.php/api/v1/profils.json", HttpMethod.GET, requestEntity, Profil[].class);
- pages = Arrays.asList(responseEntity.getBody());
- getActivity().runOnUiThread(new Runnable() {
- @Override
- public void run() {
- adapter = new ProfessionnelAdapter(getActivity(), pages);
- setListAdapter(adapter);
- }
- });
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- thread.start();
- setAppearance();
- // Attach the listener to the AdapterView onCreate
- getListView().setOnScrollListener(new EndlessScrollListener() {
- @Override
- public void onLoadMore(int page, int totalItemsCount) {
- // Triggered only when new data needs to be appended to the list
- // Add whatever code is needed to append new items to your AdapterView
- customLoadMoreDataFromApi(page);
- // or customLoadMoreDataFromApi(totalItemsCount);
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement