PDA

View Full Version : لود کردن ایتم هنگام اسکرول



Shut Down
پنج شنبه 08 خرداد 1393, 11:06 صبح
سلام
من یه برنامه نوشتم که توش از لیست ویو استفاده شده و اطلاعات رو از سرور میخونه و آیتم ها رو لود میکنه
ولی یک مشکل هست
بر فرض تو سرور 1000 تا ایتم تعریف کردم
نرم افزار و سرور میپوکن اگه این رو بخوان لود کنن
برای همین میخوام اول 10 آیتم لود کنه و وقتی کاربر اسکرول کرد و اومد پایین و به آخرین آیتم رسید 10 تای دیگه لود کنه
چطوری همچین چیزی ممکنه؟
ممنون میشم کمک کنید

rubiks.kde
پنج شنبه 08 خرداد 1393, 12:11 عصر
برای این کارکدهای آماده زیادی هست ولی اگه خواستی خودت بنویسی تابع setOnScrollListener برای لیستت بنویس بعد توابع داخلش رو به این صورت بنویس

public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { this.currentFirstVisibleItem = firstVisibleItem;
this.currentVisibleItemCount = visibleItemCount;
}


public void onScrollStateChanged(AbsListView view, int scrollState) {
this.currentScrollState = scrollState;
this.isScrollCompleted();
}


private void isScrollCompleted() {
if (this.currentVisibleItemCount > 0 && this.currentScrollState == SCROLL_STATE_IDLE) {
if(!isLoading){
isLoading = true;
loadMoreData();
}
}

}

اگه هم نخواستی تنها لازمه از این کتابخانه (https://github.com/shontauro/android-pulltorefresh-and-loadmore) استفاده کنی

Shut Down
پنج شنبه 08 خرداد 1393, 12:15 عصر
برای این کارکدهای آماده زیادی هست ولی اگه خواستی خودت بنویسی تابع setOnScrollListener برای لیستت بنویس بعد توابع داخلش رو به این صورت بنویس

public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { this.currentFirstVisibleItem = firstVisibleItem;
this.currentVisibleItemCount = visibleItemCount;
}


public void onScrollStateChanged(AbsListView view, int scrollState) {
this.currentScrollState = scrollState;
this.isScrollCompleted();
}


private void isScrollCompleted() {
if (this.currentVisibleItemCount > 0 && this.currentScrollState == SCROLL_STATE_IDLE) {
if(!isLoading){
isLoading = true;
loadMoreData();
}
}

}

اگه هم نخواستی تنها لازمه از این کتابخانه (https://github.com/shontauro/android-pulltorefresh-and-loadmore) استفاده کنی
خیلی ممنون
فقط میشه یکم درباره کد توضیح بدید
یعنی نحوه کارکردش
ممنون میشم

dasssnj
پنج شنبه 08 خرداد 1393, 12:37 عصر
این کد در setOnScrollListener برای listView نوشته شده و کارکردش اینه که زمانی که کاربر به آخرین ایتم رسید ایتم های بعدی را لود می کنه (کد لود کردنش را باید خودت بنویسی توی تابع loadMoreData)

A.Del Piero
پنج شنبه 08 خرداد 1393, 15:44 عصر
کسی میدونه با jquery mobile چه جوری باید این کار رو انجام داد( jquery mobile j تو برنامه نویسی با phonegap استفاده میشه خواهشا نگید این سوال برای این تالار نیست. ممنون)