リストビューのスクロールに取り組んでいます。リストビューのスクロール時にデータをロードしたいのですが、次のようにしています:
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (loading) {
if (totalItemCount > previousTotal) {
loading = false;
previousTotal = totalItemCount;
}
} else {
if ((totalItemCount - visibleItemCount) <= (firstVisibleItem + threshold)) {
new loadMoreListView().execute();
int currentPosition = lv.getFirstVisiblePosition();
View v = lv.getChildAt(0);
int distFromTop = (v == null) ? 0 : v.getTop();
lv.setSelectionFromTop(currentPosition, distFromTop);
}
}
}
loadMoreListView は AsynTask を使用してデータをロードするクラスです。私の問題は、リストビューが期待どおりにデータのロードを開始する10番目の位置に来ると、リストビュー全体がフリーズすることです。データが読み込まれるまでリストビューを操作できません。データをロードし、同時にリストビューとやり取りするソリューションはありますか? Endless Adapter や Prime を提案しないでください。私はすでにそれで試しました。どんな助けでも大歓迎です。前もって感謝します。