بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سرعت دلخواه Progressbar (حل شد)
سلام. من توی آموزش ها قسمت نهم (Test Thread) که پروگرس بار خیلی زود تکمیل میشه میخوام زمان دلخواه خودم رو بدم و مثلا در عرض ۱۰ ثانیه تکمیل بشه. ولی هرچقدر عدد رو زیاد میکنم فرقی نداره مشکلم از کجاست !!! کد مربوط progressbar هم پایین نوشتم
private void doHeavyWork() {
String str = "";
for (int i = 0; i < 900000000; i++) {
str += i;
int percent = i / 30;
percent++;
Prg1.setProgress(percent);
+3
0
percent حداکثر تا صد میتونه پیشرفت کنه، پس شما بهتر است percent رو عددی بگذارید که وقتی به انتها رسید صد بشه، الآن وقتی عددتون به 900000000 میرسه percent شما به 30000000 میرسه که غیر منطقیه! percent = i/9000000 قرار بدید مشکلتون حل میشه (9 سال پیش)
+1
0
علاوه بر کاری که دوستمون گفتن، از Thread.sleep() هم استفاده کنید. این متد رو استاد اموزش دادن اگر نرسیدید هنوز صبر کنید تا برسید . تو ملحث ترد ها (9 سال پیش)
0
0
مرسی حل شد... فقط یسوال دیگه . الان میخوام percent به ۱۰۰ رسید یه کاری انجام بشه(مثلا ظاهر شدن دکمه یا هرچی) ولی وقتی ۱۰۰ شد کرش میشه چرا ؟!
کد هم اینو میزنم. {..........} (if (percent == 100 (9 سال پیش)
+1
0
چنتا راه داره که وقتی به ۱۰۰درصد رسید کاری که ازش خواسته اید رو انجام بده، اگر شرط percent == 100 رو داخل حلقه قرار داده اید هر بار که اجرا میشه یبار چک میشه که از لحاظ منطقی مشکل داره، بهتره شرط رو بیرون حلقه قرار بدید و بعد از for بگید اگه percent==100 شده بود اون کار مد نظرتون رو انجام بدید، البته توجه داشته باشید که percent داخل حلقه تعریف شده و بیرون از حلقه ناشناسه، پس percent رو بیرون از حلقه تعریف کنید. البته از لحاظ منطقی میدونیم که زمانی که از حلقه بیرون اومدیم حتما percent برابر با ۱۰۰ شده، پس با خیال راحت میتونید دستورات مد نظرتون رو بعد از حلقه قرار بدید و مطمئن باشید که به درستی کار میده. موفق باشید (9 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .