دوستان طریقه استفاده از Progress Dialog رو می تونین برام توضیح بدین یعنی چطوری می تونم اجراش کنم در برنامه ؟
دوستان طریقه استفاده از Progress Dialog رو می تونین برام توضیح بدین یعنی چطوری می تونم اجراش کنم در برنامه ؟
شما اول یه شی از جنس ProgressDialog میسازید و با تابع show اون رو نشون میدید.
برای تعریف این شی:
ProgressDialog progress=new ProgressDialog(MainActivity.this);
برای تعیین کردن عنوان دیالوگ:
progress.setTitle("Scaning...");
برای عنوان کردن استایل. حالت خطی هست و حالت دایره ای( دایره ای برای حالت انتظار فقط به کار میره ولی خطی هم برای انتظار و هم برای نشان دادن مقدار) :
progress.setProgressStyle(ProgressDialog.STYLE_HOR IZONTAL);
برای تعین کردن پیغام دیالوگ:
progress.setMessage("Wait for ...");
برای تعیین حالت کاری. اگر فالس باشد یعنی در progress مقداری نشان میده اما اگر true باشه progress فقط میچرخه و حالت لودینگ داره.
progress.setIndeterminate(false);
با این کد تعیین میکنیم که دیالوگ قابل کنسل شدن با دکمه بک یا.... هست یا نه:
progress.setCancelable(false);
با این کد میشه دیالوگ رو با لمس بیرون از دیالوگ کنسل کرد:
progress.setCanceledOnTouchOutside(true);
برای تعیین مقدار حداکثر progress : به صورت دیفالت 100 هست.
progress.setMax(200);
برای تغییر مقدار progress :
progress.setProgress(15);
برای نمایش دیالوگ هم:
progress.show();
برای بستن دیالوگ هم: تابع کنسل هم همین کار رو میکنه با این تفاوت که متد onCancel رو هم فراخوانی میکنه.
progress.dismiss();
کلی تابع دیگه مثل تعیین آیکون و تعریف دکمه و.... هم هست که از تو هلپ eclipse میتونید ببینید.
سلام
کپی فایل همراه با Progress:
// Params are input and output files, progress in Long size of
// data transferred, Result is Boolean success.
public class MyTask extends AsyncTask<File,Long,Boolean> {
ProgressDialog progress;
protected void onPreExecute() {
progress = ProgressDialog.show(ctx,"","Loading...",true);
}
protected Boolean doInBackground(File... files) {
copyFiles(files[0],files[1]);
return true;
}
protected void onPostExecute(Boolean success) {
progress.dismiss();
// Show dialog with result
}
protected void onProgressUpdate(Long... values) {
progress.setMessage("Transferred " + values[0] + " bytes");
}
}
برای اجرا:
MyTask task = new MyTask();
task.execute(src,dest);
منبع:http://stackoverflow.com/a/6053982/478162
مرسی از دوستان برنامه نویس بایت کمکی که کردن مشیه راجبه این کد توضیح بدین و اینکه راجبه onClickListener هم یه توضیحاتی می خواستم بازم مرسی :
public void onClick(View v){
final ProgressDialog progress = ProgressDialog.show(this,"Please wait","Loading...",true);
new Thread(newRunnable(){
public void run(){
try{
Thread.sleep(5000);
progress.dismiss();
}catch(InterruptedException e)
e.printstatcktrace();
}}
}).start();
}
onClickListener موقعی که کلیک روی یه ویجت مثل دکمه یا.... شد فعال میشه. مثلا برای نوشتن event برای کلیک روی یک دکمه:
btn.setOnClickListener(btnListener);
که آرگومانش اسم یه تابع از جنس onClickListener هست
private OnClickListener btnListener = new OnClickListener() {
public void onClick(View v ){
//do some thing here
} };
البته تو خود آرگومان هم میشه تابع رو تعریف کرد.
تو این برنامه که گزاشتید یه thread جدید میسازه و توی 5 ثانیه اون رو متوقف میکنه.تو این مدت توقف ProgressDialog نمایش داده میشه.
لطفا اگر میخواید کدی رو قرار بدید از تگ ها استفاده کنید درست نمایش داده بشه و راحت بشه خوند.
آخرین ویرایش به وسیله shahin bahari : جمعه 10 آذر 1391 در 22:07 عصر دلیل: غلط املایی
به روی چشم اقا شاهین بعد میشه توضیح بدین راجبه InterruptedException و printstatchtrace مرسی
منظورتون printstacktrace هستش؟
این تابع توی قسمت catch بلوک try/catch قرار میگیره و یه تعداد log راجع به exception که رخ داده ایجاد میکنه تا بتونید راحت تر مشکل رو پیدا کنید. فکر نمیکنم به جز دیباگینگ کار دیگه ای انجام بده.
در مورد InterrupedException هم نمیدونم که مربوط به exception چی میشه ولی هرچی که باشه گرفتنش مثل بقیه Exception ها هست. توضیحاتی که سایت اوراکل داده رو هم یه نگاه کنید شاید به کارتون اومد:
http://docs.oracle.com/javase/6/docs...Exception.html
دوستان من میخوام تو یک alert button بتونم از ProgressDialog استفاده کنم چجوری میشه این کارو انجام داد ؟
سلام
alert button چیه؟
alert button دستورات مرتیط با دیالوگ هستش دوست عزیز یعنی شما با این دستور می تونین یک دیالوگ تولید و از ان استفاده کنید میتوتید برید تو سایت android.com و کلیه دستورات مربوط رو ببینید مانند شکل زیر
منم تا حالا alert button رو نشنیده بوم. یه دیالوگ معمولی تعریف میشه و 2 تا دکمه رو براش رجیستر میکنید میشه شکل همین...
شما progress dialog رو تعریف کنید و برای اون دکمه تعریف کنید. تابع setButton از کلاس ProgressDialog برای این کار هست.دوستان من میخوام تو یک alert button بتونم از ProgressDialog استفاده کنم چجوری میشه این کارو انجام داد ؟
امتحانش نکردم اما طبق توضیحش به کارتون میاد:
public void setButton (int whichButton, CharSequence text, DialogInterface.OnClickListener listener)
Added in API level 3
Set a listener to be invoked when the positive button of the dialog is pressed.
درسته من اشتباه نوشتم همون alert dialog منظورم بود من گارم حل شد با استفاده از دستور button و بعد استفاده از دستورات ProgressDialog در یکی از بلوک های دستور button ..... درسته دوستان
تشکر از اینکه کمکم کردین ممنون