View Full Version : ساخت یک تایمر معکوس خیلی ساده
sa1378
یک شنبه 15 تیر 1393, 19:19 عصر
سلام
من میخوام یه تایمر خیلی ساده بدون ساعت و دقیقه بسازم که فقط از مثلا 300 ثانیه توی یه text بشماره و وقتی که به 0 رسید یک عملی انجام بشه.
لطفا یه سورس بدین که اعداد و اعمالی که انجام میشه قابل تغییر باشن
mfaridi
یک شنبه 15 تیر 1393, 19:50 عصر
اگه تایمر بلدی بسازی انکار رو توش انجام بده
int s=300;
s-=1
if(s==0){
//fnesh
}
haniiii
یک شنبه 15 تیر 1393, 20:57 عصر
این کلاس رو ایجاد کن و تو متد onTick میتونی TextView رو آپدیت کنی
همچنین مقادیر اولیه رو برای کلاس بفرس
class timer extends CountDownTimer
{
public timer(long millisInFuture, long countDownInterval)
{
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}
@Override
public void onFinish()
{
}
@Override
public void onTick(long millisUntilFinished)
{
// TODO Auto-generated method stub
// Update your textview on on tick
}
}
منبع (http://stackoverflow.com/a/3510608)
sa1378
یک شنبه 15 تیر 1393, 21:26 عصر
این کلاس رو ایجاد کن و تو متد onTick میتونی TextView رو آپدیت کنی
همچنین مقادیر اولیه رو برای کلاس بفرس
class timer extends CountDownTimer
{
public timer(long millisInFuture, long countDownInterval)
{
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}
@Override
public void onFinish()
{
}
@Override
public void onTick(long millisUntilFinished)
{
// TODO Auto-generated method stub
// Update your textview on on tick
}
}
منبع (http://stackoverflow.com/a/3510608)
توی onFininsh وقتی 0 شد رو باید نوشت؟
توی onTick هم هر میلی ثانیه هست
چجوری باید به ثانیه تبدیلش کرد؟
sa1378
دوشنبه 16 تیر 1393, 11:04 صبح
من کد اینو گرفتم خیلی خوبه
ولی نمیدونم اون دو تا عدد که اون بالا هست چیه
و اینکه فقط وقتی زمان تموم شد مینویسه done و زمان باقیمونده رو نشون نمیده
اگه میتونین ویرایش کنین درست بشه
new CountDownTimer(10000,20000) {//CountDownTimer(edittext1.getText()+edittext2.getTe xt()) also parse it to long
public void onTick(long millisUntilFinished) {
timetext.setText("seconds remaining: " + millisUntilFinished / 1000);
//here you can have your logic to set text to edittext
}
public void onFinish() {
timetext.setText("done!");
}
}
.start();
toopak
پنج شنبه 19 تیر 1393, 11:51 صبح
عدد اول مدت زمان مورد نظر شماست که اون 300 ثانیه رو باید بهش پاس بدید(البته به صورت میلی ثانیه)
و عدد دوم هم واحد تیک شماست که اگر میخوایید یک ثانیه یک بار باشه باید 1000 بنویسید توش
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.