مشاهده loading در listview هنگام دریافت از json از سرور
سلام دوستان .
من قسمت lazyloading محمد حسین رو که تو سایت گذاشته پیاده کردم تا وقتی کاربر اسکرول کرد 10 تا 10 تا از سرور بخونه و تو آرایه قرار بده اما مشکلم اینه که موقع اسکرول کلا برنامه قفل میکنه که خیلی ضایعس .
من روی این موضوع یه هفته خودم وقت گذاشتم اما نتیجه نگرفتم .
من میخوام وقتی کاربر داره لیست ویویی که شامل عکس هم هست رو اسکرول میکنه هنگامی که خواست به پایین بیاد و به سرور درخواست بفرسته که لیست رو دریافت کنه یه loading نمایش داده بشه و بعد از دریافت و آپدیت شدن listview به صورت خودکار loading محو بشه . من loading رو خودم هنگام دریافت تونستم بیارم اما چون رو thraed اصلی اجرا میشه اول برنامه قفل میکنه بعد loading سریع میاد و میره . گاه بخوام یه ترد دیگه درست کنم اون موقع loading اصلا محو نمیشه .
lstContent.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
}
@Override
public void onScroll(AbsListView arg0, int firstItemVisible, int CountVisible, int totalCount) {
final int lastItem = firstItemVisible + CountVisible;
if (adapter.getCount() >= 10 && lastItem > adapter.getCount() - 3) {
isloading = false;
if ( !isloading) {
if (lastItem > lastItemPosition) {
lastItemPosition = adapter.getCount();
showLoadingDialog();اگه اینجا یه ترد درست کنم دیگه loading محو نمیشه
readData();
adapter.notifyDataSetChanged();
}
}
isloading = true;
}
}
});
محمد جان کاشکی خودت اینم انجام میدادی . من موندم شما که همه رو نوشتی این لودینگ رو هم مینوشتی دیگه .شوخی کردم دستت درد نکنه ولی اگه نتونستم میام سراغت .من آموزش های سایت خودت رو هم دنبال میکنم اما واقعا جای خالی asynctask و recycleview واقعا حس میشه این دو تا رو درست کنی باید طلا بگیرنت .
بعد از یه هفته عذاب بالاخره درست شد . حتماً باید تو سایت میگفتم تا 1 ساعت بعدش درستش کنم .با asynctask درستش کردم فقط یه مشکلی که الان داره اینه که کاربر میتونه با لمس صفحه پروگرس بار رو به حالت مخفی ببره و دیتا دیگه از اینترنت دریافت نمیشه . باید یه کاری کنم اون موقع نتونه تاچ کنه .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .