آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

 نحوه ی فرمت کردن Integer برای نمایش درست میزان دانلود فایل در ProgressDialog

JSONObject  10 سال پیش  10 سال پیش
0 0

سلام ، وقت بخیر

مشکلی هست برام تو ProgressDialog از نوع STYLE_HORIZONTAL که برای نمایش میزان دانلود میخوام ازش استفاده کنم

مشکل اینه که بایت رو نشون میده و با هیچ صراطی مستقیم نمیشه که به صورت اعشاری نشون بده
هم مقدار کل رو هم مقدار دانلود شده رو

کدی که بابت فرمت مینویسم و تاثیری نداره اینه : 

 downloadProgressDialog.setProgressNumberFormat("%1d/%2d b");

اگه به صورت زیر بنویسم IllegalFormatPrecisionException میده :

        downloadProgressDialog.setProgressNumberFormat("%.2d/%.2d KB");

با f که مینویسم یه اررور دیگه میده که میگه این طرز فرمت  کردن Integer نیست 

با # کلا نمیشناسه

        final int fileSize = connection.getContentLength();
        downloadProgressDialog.setMax(fileSize);
...
..
.
downloadProgressDialog.setProgress(finalDownloadedSize);

 

برای اون عزیزی که هنوز متوجه نشده میگم
چیزی که الان دارم میبینم اینه مثلا ( 69384957/102947839 
و چیزی که میخوام ببینم اینه ( مگابایت 69.38/102/95 

لطفا برسید به دادم :|

0 0
خب نمیشه اون fileSize رو تقسیم به 1048578 کنی تا براساس مگابایت سایزشو بگیری و نشون بدی؟ (10 سال پیش)
0 0
جواب رو ببین کیف کن لینک - با این یافتم "java format bytes human readable" (10 سال پیش)
0 0
علی شریعتی => قبل از پروگرس دیالوگ خودم کاستوم یه دونه داشتم که تکست ویو رو خودم ست تکست می کردم ، اونجا دو بار تقسیم میکردم به 1024 ردیف میشد چون فایل سایزم یه استرینگ بود ولی اینجا پروگرس دیالوگ فایل ساز رو ınteger میگیره ازم قالب بندیشم نمیفهمم (10 سال پیش)
0 0
نصرتی => لینک خیلی مفیدی بود ولی جواب این مشکل توش نبود :( (10 سال پیش)
0 0
من مشکل شما رو خوانا و قابل درک کردن یه عدد بزرگ برای یه آدم معمولی دیدم، این نبود یعنی؟ (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Criss  10 سال پیش
0 0

از این استفاده کنید :

 private String ConvertByteToMB(int bytelenght) {
float sizeInKB = (float) bytelenght / 1024;
float sizeInMB = (float) sizeInKB / 1024;

return String.format("%.2f" + "MB", sizeInMB);
}

 


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .