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

ست کردن progressbar

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

با عرض سلم و خسته نباشید.بنده یک دایرکتوری دارم که تعدادی فایل داخلشه..یک باتن دارم وقتی روش کلیک میشه تمامی فایلهای اون دایرکتوری رو پاک میکنه و اصلا مشکلی نیست....حالا سوالم اینجاست چجوری میتونم پاک شدن فایلها رو به پروگرس بار ست کنم و تعداد فایلهای حذف شده و باقی مانده رو تو پروگرش نشون..والا در مورد لیسنرها تحقیق کردم ولی نتونستم پیاده سازیش کنم ...پیشاپیش ممنون.قطعه کد حذف فایلهای دایرکتوری....اینجا مثلا تست نوشتم اسم دایرکتوری رو.

  public void clearData() {
if (new File("test").isDirectory())
{
String[] children = new File(G.DIR_TELEGRAM_CACH).list();
for (int i = 0; i < children.length; i++)

{
new File(test, children[i]).delete();

}
}
}
0 0
یکی یه سرنخ بده ...چندتا راه رفتم نشد... (10 سال پیش)
+1 0
می تونی یه لیسینر تعریف کنی( بعد خطی که داخله حلقه چون بعد اون خط مطمعنیم فایل حذف شده) و داخل listener می تونی اسم فایل برگردونی (10 سال پیش)
 برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال 
مرتضی  10 سال پیش
+1 0

 publicvoid clearData(OnDeleteComplete listener){
if(newFile("test").isDirectory())
{
String[] children =newFile(G.DIR_TELEGRAM_CACH).list();
for(int i =0; i < children.length; i++)

{
newFile(test, children[i]).delete();
listener(i+1);


}
}
}
که این کد شماره ی فایل رو بر میگردونه
0 0
متشکرم از پاسختون ولی بازم سوال دارم.ببینید من میخام درصد فایلهای پاک شده رو بفرستم به پروگرس بار لیستنر رو تعریف کردم خوب کار میکنه فقط پروگرس بار یه دفعه پر میشه میره رو صد درصد.کدو میزارم ببینید.درصد حذف از دایرکتوری رو اشتباه بدست میارم.ممنون میشم کمک کنید/ (10 سال پیش)
پاسخ به سوال 
Salamon  10 سال پیش
0 0

    public void clearData(OnDeleteCompleteListener listener) {
if (new File(DIR_TEST).isDirectory())
{
float deletePercent = 0;
int deleteSize = 0;
String[] children = new File(DIR_TEST).list();
for (int i = 0; i < children.length; i++)

{
deleteSize += i;
deletePercent = 100.0f * deleteSize;
if (listener != null) {

listener.onProgressDelete((int) deletePercent);

}

new File(DIR_TEST, children[i]).delete();

// listener(i + 1);

}
}
}
0 0
مشکلم اینجا اینه که نمیتونم درصدی از فایلهای حذف شده رو بدست بیارم.مثلا 1000 تا عکس داریم تو پوشه رو رکمه حذف که میزنم میخام پروگرس بار درصد حذف رو تا پاک شدن همه فایلها نشون بده و به صد درصد برسه. (10 سال پیش)
0 0
. (10 سال پیش)
پاسخ به سوال 
Salamon  10 سال پیش
0 0

     public void clearData(final OnDeleteCompleteListener listener) {
if (new File(DIR_TEST).isDirectory())
{
float deletePercent = 0;
int deleteSize = 0;
String[] children = new File(DIR_TEST).list();
for (int i = 0; i < children.length; i++)

{
deleteSize += i;
deletePercent = (float) deleteSize / children.length * 100.0f;
final float deletepercent2 = deletePercent;

if (listener != null) {
G.HANDLER.post(new Runnable() {

@Override
public void run() {
listener.onProgressDelete((int) deletepercent2);

}
});

}

new File(DIR_TEST, children[i]).delete();



}
}
}
0 0
دوستان کجای این کد محاسبه رو اشتباه انجام میده deletePercent مقدارش درست در نمیاد یک دفعه پروگرس میره رو صد ولی همه فایلها پاک میشن. (10 سال پیش)
+1 0
یه log بگیر ببین پشت برنامه چطور عمل میکنه : Log.i("test",""+deletePercent); (10 سال پیش)
0 0
چیزی چاپ نمیکنه هرکاری کردم نمیدونم مشکل کجاست (10 سال پیش)
پاسخ به سوال 
HoCoder  10 سال پیش
+1 0

شما اگه طبق گفته خودتون تعداد فایل هایی که میخواین حذف کنید رو بدست بیارید این کد به نظر من اشتباه هست و شما اول تعداد فایل ها رو که بدست آوردین بعد به تعداد فایل هاتون عمل حذف رو انجام میدین با این کد تعداد فایل ها رو بگیرید بعد هر فایلی رو که حذف کردید لیسنر رو صد بزنید

File dir =newFile("yourfolder");
File[] files = dir.listFiles();
int numberOfFiles=files.length;
پاسخ به سوال 
Criss  10 سال پیش
0 0

برای پرگرس بارتون این کار رو انجام بدید

PrgressBar.setMax = children.length;
PrgressBar.setProgress(children[i].getindex); // این قسمت مثال هست

از آرایه داینامیک استفاده کنید خیلی بهتر هست < آرایه های استاتیک GetIndex رو الان خاطرم نیست چطوری میشه گرفت

 

0 0
میشه بیشتر توضیح بدین من مقدارو به لیسنر پاس میدم مستقیما نمیتونم پروگرس رو ست کنم ست مکس چه کاری رو انجام میده اینجا ؟ (10 سال پیش)
0 0
. (10 سال پیش)

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