2016-03-29 23 views
0

私が行ったSQLiteデータベースからリストビューを実装したいと思います。しかし、今私はリストビューsetOnScrollListenerでページネーションを実装したいと思います。最初の50レコードを表示しているときにリストの最後にスクロールするとプログレスバーを実行します。リストビューのページ作成に5日間かかっていますが、正常に動作していません。この問題を解決するのに手伝ってもらえますか?AndroidのSQLiteデータベースからListViewページネーションを実装する方法は?

ここに私のコードです。

listView.addFooterView(footer); 
     // Implementing scroll refresh 
     listView.setOnScrollListener(new AbsListView.OnScrollListener() { 
      @Override 
      public void onScrollStateChanged(AbsListView absListView, int i) { 
      } 

      @Override 
      public void onScroll(AbsListView absListView, int firstItem, int visibleItemCount, final int totalItems) { 
       //Log.e("Get position", "--firstItem:" + firstItem + " visibleItemCount:" + visibleItemCount + " totalItems:" + totalItems + " pageCount:" + pageCount); 
       int total = firstItem + visibleItemCount; 

       Log.e("", "onScroll LocalPages=" + LocalPages); 
       // Total array list i have so it 
       if (pageCount < LocalPages) { 

        if (total == totalItems) { 

         // Execute some code after 8 seconds have passed 
         Handler handler = new Handler(); 
         handler.postDelayed(new Runnable() 
         { 
          public void run() 
          { 
           listView.addFooterView(footer); 
           OFFSET = pageCount * 50 ; 
           //Log.e("","After OFFSET pageCount =" + pageCount + " OFFSET value ="+OFFSET); 
           List<All_Post> allDesc = dbhelper.getAllDescriptions(OFFSET); 
           for (All_Post all_Post : allDesc) 
           { 
            descArray.add(all_Post); 
           } 
           if(adapter != null) 
           { 
            adapter.notifyDataSetChanged(); 
            listView.setAdapter(adapter); 
            listView.setSelection(totalItems); 

            pageCount += 1; 
            Log.e(""," pageCount =" + pageCount + " LocalPages="+LocalPages); 

           } 
          } 
         }, 2000); 
        } 
       } else { 
        Log.e("hide footer", "footer hide"); 
        listView.removeFooterView(footer); 
       } 
      } 
     }); 
+0

「私は、リストビューページネーションに取り組ん5日以来、多くの時間をしようとしているが、それは正しく動作していません。」 3月23日に5日間作業していましたが、今日は3月29日ですので、10日以上作業しています。私はすでに2つの作業ソリューションを提供しています。それを受け入れたいですか? – pskink

+0

OnScrollListenerで「プル・トゥ・リフレッシュ」を使うことができます – rockstar

+0

はい私はそれを知っています。私はすでにSimpleCursorAdapterを使用したくありません。私はすでにArray-Adapterと多くのコードを使用していますので、私は変更できません。 – jandroid

答えて

0

これは、以下の方法で行うことができます。また、あなたのコードで

     // create one final list 
         final ArrayList<String> temp = new ArrayList<String>(); 
         temp.addAll(previous_data); 

         // call fxn for getting new value 
         // call your database query 

         // add new data into list 
         temp.addAll(new_Data); 
         // intailize static list of adapter showing data 
         // add data into list. 
         ActivityName.MainList = temp; 

         mAdapter.notifyDataSetChanged(); 

...おかげ

関連する問題