5

Hier verwende ich Schiebe-Schublade. in diesem auf home icon es zeigt 3 tabs
1) welches konzept sollte ich für tab bewerben?
2) Ich möchte pulltoreferesh und loadmore in Listview wie Facebook anwenden? in dem Sie auch gesehen haben, dass beim Scrollen Fortschrittsbalken ausgeblendet wird und Anfrage abbrechen.

enter image description herepull zum Aktualisieren und Ladenmehr Listview wie facebook

Antwort

4
public class ListDemo extends Fragment{ 
    ArrayAdapter<String> files; 
    private LinkedList<String> mListItems; 
    PullAndLoadListView lyt ; 
    // ListView lv1; 

    // The data to be displayed in the ListView 
    private String[] mNames = { "Fabian", "Carlos", "Alex", "Andrea", "Karla", 
      "Freddy", "Lazaro", "Hector", "Carolina", "Edwin", "Jhon", 
      "Edelmira", "Andres" }; 

    // The data to be displayed in the ListView 
    private String[] mAnimals = { "Perro", "Gato", "Oveja", "Elefante", "Pez", 
      "Nicuro", "Bocachico", "Chucha", "Curie", "Raton", "Aguila", 
      "Leon", "Jirafa" }; 



    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     super.onCreateView(inflater, container, savedInstanceState); 
     final View v = inflater.inflate(R.layout.tab_frag3_layout, container, false); 
     mListItems = new LinkedList<String>(); 
     mListItems.addAll(Arrays.asList(mNames)); 
     lyt = (PullAndLoadListView)v.findViewById(R.id.tab_frag3_listview1); 

     if (container == null) { 
      return null; 
     } 

     files = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1,mListItems); 
     lyt.setAdapter(files); 
     lyt.setOnRefreshListener(new OnRefreshListener() { 

      @Override 
      public void onRefresh() { 
       // TODO Auto-generated method stub 
       new PullToRefreshDataTask().execute(); 
      } 
     }); 
     lyt.setOnLoadMoreListener(new OnLoadMoreListener() { 

      @Override 
      public void onLoadMore() { 
       // TODO Auto-generated method stub 
       new LoadMoreDataTask().execute(); 
      } 
     }); 
     return v; 

    } 
    private class LoadMoreDataTask extends AsyncTask<Void, Void, Void> { 

     @Override 
     protected Void doInBackground(Void... params) { 

      if (isCancelled()) { 
       return null; 
      } 

      // Simulates a background task 
      try { 
       Thread.sleep(1000); 
      } catch (InterruptedException e) { 
      } 

      for (int i = 0; i < mAnimals.length; i++) 
       mListItems.add(mAnimals[i]); 

      return null; 
     } 

     @Override 
     protected void onPostExecute(Void result) { 
      mListItems.add("Added after load more"); 

      // We need notify the adapter that the data have been changed 
      files.notifyDataSetChanged(); 

      // Call onLoadMoreComplete when the LoadMore task, has finished 
      lyt.onLoadMoreComplete(); 

      super.onPostExecute(result); 
     } 

     @Override 
     protected void onCancelled() { 
      // Notify the loading more operation has finished 
      lyt.onLoadMoreComplete(); 
     } 
    } 

    private class PullToRefreshDataTask extends AsyncTask<Void, Void, Void> { 

     @Override 
     protected Void doInBackground(Void... params) { 

      if (isCancelled()) { 
       return null; 
      } 

      // Simulates a background task 
      try { 
       Thread.sleep(1000); 
      } catch (InterruptedException e) { 
      } 

      for (int i = 0; i < mAnimals.length; i++) 
       mListItems.addFirst(mAnimals[i]); 

      return null; 
     } 

     @Override 
     protected void onPostExecute(Void result) { 
      mListItems.addFirst("Added after pull to refresh"); 

      // We need notify the adapter that the data have been changed 
      files.notifyDataSetChanged(); 

      // Call onLoadMoreComplete when the LoadMore task, has finished 
      lyt.onRefreshComplete(); 

      super.onPostExecute(result); 
     } 

     @Override 
     protected void onCancelled() { 
      // Notify the loading more operation has finished 
      lyt.onLoadMoreComplete(); 
     } 
    } 

} 

hier zu gehen sourc ist e-Code von Bibliothek.

+0

kannst du bitte deine xml-Datei hochladen? –

+0

bitte fügen Sie benutzerdefinierte listview in Ihrem XML wie diese https://github.com/shontauro/android-pulltorefresh-and-loadmore#layout-for-pullandload-listview –

+1

ok danke .. ich habe es :) –

1

Ich habe diese Bibliothek selbst nicht verwendet, und es (vor 2 Monate) wurde eingestellt, aber es sieht gut aus mit Beispielen und alle:

https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide

Von dem, was ich lese, im Grunde müssen Sie Ihre eigene Listenansicht mit der Bibliothek Listenansicht ersetzen und die jAR-Datei importieren und Sie sind gut ;-)

+0

i2 Bibliotheken sind mit android-support-v4.jar, LoadMoreListView (com.costum.android.widget) –

+0

So Was ist das Problem genau? Ich habe einen Link zu einer Bibliothek für Pull-Refresh in einer ListView oder ListFragment. Ich habe noch nie von der anderen Bibliothek gehört und beabsichtige nicht, sie im Moment zu betrachten. Warum nicht meinen Link stattdessen versuchen? – Darwind