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

مشکل در اجرای progress bar ha

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

دوستان سلام(مشکل حل شد)

من توی نرم افزارم یازده تا progress bar گذاشتم و واسه هر کدوم یه دکمه تعریف کردم که هر کدوم یه کار جداگونه انجام میده و یه thread هم تعریف کردم که progress bar ها رو کنترل میکنه.ولی مشکلم اینه که وقتی میخوام یازده تا دکمه با هم کارشون رو انجام بدن روی دکمه های دوم به بعد که کلیک می کنم progress bar های قبلی متوقف میشن و بعدی ها از ادامه ی قبلی شروع میشن.هر ترفندی زدم نشد.الام دو هفته است همین جا گیر کردم.uncocoder و stackoverflow و kelidestan و ... رو هم زیر و رو کردم چیزی عایدم نشد.لطفا یکی کمکم کنه . . . فدا

0 0
مطمئنا مشکل در کد نویسی شما وجود داره و نتونستید همزمانی را به طور صحیح پیاده کنید ، بخشی از کد که مربوط به ایجاد ترد ها و نمونه سازی از آن ها میباشد را قرار دهید . (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Android  10 سال پیش
0 0

threadاینم اکتیویتی

import android.content.ContentResolver;
import android.database.Cursor;
import android.provider.ContactsContract;
import android.util.Log;
import android.widget.ProgressBar;

public class ThreadCustom extends Thread {
    public int position;
    private ProgressBar progressBar;
    long[] startValue = {st1,st2,st3,st4,st5,st6};
    long[] endValue = {en11,en3,en0,en2,en4,en6};
    int valueStart = (int) startValue[position];
    int valueEnd =(int) endValue[position];

    @Override
    public void run() {
        super.run();
        Rnumber901();
    }

    public void setProgressBar(ProgressBar value) {
        progressBar = value;
    }
    public void getIndex(String itemName)
    {
        for (int i = 0; i < startValue.length; i++)
        {
            position = i;
        }
    }
    public void Rnumber901() {
        int percent = 0;
        for (int i =valueStart ; i < valueEnd; i++) {
            if (valueEnd % valueStart == 0) {
                percent++;
                final int finalPercent = percent;
                Progress.handler.post(new Runnable() {
                    @Override
                    public void run() {
                        if (progressBar != null) {
                            progressBar.setProgress(finalPercent);
                        }
                    }
                });
            }
        }
    }
}

پاسخ به سوال 
Criss  10 سال پیش
+2 0

برای هر دکمه کد زیر رو بزار < و نیاز به استفاده از یک کلاس بصورت  extends Thread نیست <

 Thread thread = new Thread(new Runnable() {

@Override
public void run() {
//progressBar.set

}
});
thread.start();

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

که مفصل تر توی اون یکی تاپیکتون توضیح دادم  !

 

 

 

 

0 0
fada criss jan (10 سال پیش)

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