私は、boolean
変数でhasMoreData
何が起こっているのかをEndlessAdapter
追跡しようとしていますfalse
.
何が起こるかを最初から実行してみましょう。 注:私はとを使用していtask
ますsetRunInBackground(false);
リストの設定とアダプターの設定から始めます。
profileList = new ArrayList<ProfileReview>();
endlessAdapter = new EndlessProfileAdapter(getActivity(), profileList);
endlessAdapter.setRunInBackground(false);
listView.setAdapter(endlessAdapter);
補足:これが正しいかどうかはわかりませんが、空のアダプターでリストを設定しているようです。
アダプターが設定された後に最初に発生するように見えるのはメソッドです。ここで、cacheInBackground()
私のprofileList
サイズはゼロです。一方、この (キャッシュ) メソッドでは、 を 返します。 なぜかわからない?リストのサイズがゼロだから?それとも、まだデフォルト値に関連付けられているためですか?int startPoint
AsyncTask
hasMoreData
true
hasMoreData
true
true
タスクでは、最初の 10 項目を取得します。
次に、ユーザーがスクロールすると、thobber
回転が始まります。そして次の10件が表示されます。 現在は 10 であり、したがって偽であるとLog.d
教えてくれます。profileList.size()
hasMoreData
public void onItemsReady(ArrayList<ProfileReview> data) {
profileList.addAll(data);
endlessAdapter.onDataReady();
hasMoreData = profileList.isEmpty(); \\ Log.'d this out
}
私の質問:私のリストは 10 個の項目で始まり、ユーザーがスクロールすると、さらに 10 個の項目が表示されます。その後、合計 20 個のアイテムの後 (またはhasMoreData == false
.) で停止しますが、プルするアイテムは他にもたくさんあります。保管方法はhasMoreData == true
?そのきっかけは何ですか?明らかに、トリガーはリストサイズです (私は思いますか?)。データの取得を開始すると、リストサイズが 0 になるのはなぜですか? (コース終了まで)