5

ここではスライド式の引き出しを使用しています。クリックするとのホームアイコンは3つのタブを表示します
1)どの概念をタブに適用すべきですか?
2)pulltorefereshloadmoreをlistbookのようなfacebookに適用したいですか? あなたは、スクロールアップするとプログレスバーが非表示になり、キャンセルを要求することも確認しました。

enter image description hereリフレッシュしてloadmore listviewをfacebookのように表示します

答えて

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(); 
     } 
    } 

} 

を行ってもいいですsourcですeコードpull-to-refresh and load-moreライブラリー。

+0

ur xmlファイルもアップロードできますか? –

+0

xmlにカスタムリストビューを追加してください。https://github.com/shontauro/android-pulltorefresh-and-loadmore#layout-for-pullandload-listview –

+1

okありがとう..私はそれをしました:) –

1

私はこのライブラリを自分で使用していない、それは(2ヶ月前)廃止されたが、それは例とすべてと見栄え:

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

私が読んだものから、基本的には、ライブラリのリストビューを使用して独自のリストビューを交換し、jarファイルをインポートする必要があり、あなたはここで;-)

+0

私は2つのライブラリにアンドロイド・サポート・v4.jarを使用しています、LoadMoreListView(com.costum.android.widget) –

+0

問題は何ですか?私はあなたにリストビューやリスト断片のプル・リフレッシュのためのライブラリへのリンクを持っています。私は他の図書館について聞いたことがないし、今はそれを見るつもりはない。なぜ私のリンクを試してみませんか? – Darwind

3

このライブラリは、私が日前に使用し、完璧に動作している用途:だから

RefreshableListView

関連する問題