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

یک سوال خیلی ساده

Ali asqar akhavan mahdavi  10 سال پیش  10 سال پیش
+1 0

سلام دوستان.وقت بخیر

دارم یه بازی مینویسم که میخوام وقتی مثلا کلید btn زده میشه 3 ثانیه بعدش یه عملیاتی انجام بشه.اگه دوباره زده شد اون 3 ثانیه از اول شمرده شه.متوجه منظورم شدین؟

ممنون میشم اگه راهنمایی کنین

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
mhpakdel  10 سال پیش
+1 0

برای تأخیر از کدی که خود استاد هم در اوایل آموزش ها توضیح دادن هم میتونید استفاده کنید. از این کد هم میتونید استفاده کنید:

 Timer timer = new Timer();
timer.schedule( new TimerTask() {
    public void run() {
       // کاری که قراره انجام بشه 
    }
 }, 0, 60*1000);

برای کنسل کردن تأخیر هم از کد زیر استفاده کنید:

 timer.cancel();
0 0
دوست عزیز در ابتدا تشکر میکنم از پاسختون.اما نمیدونم چرا چیزی که میخوام در نمیاد. یه زحمتی بکش اگه امکان داره. یه کلید و یه تکست ویو بذار .میخوام هر بار کلیک میشه، از 3 تا 1 معکوس بشماره.هر شمردنی 1 ثانیه طول بکشه.هربار که کلیک شد، از اول شروع کنه به شمردن.من بیچاره شدم نتونستم این قطعه رو درست دربیارم ;-( (10 سال پیش)
0 0
چشم حتما سر فرصت انجامش میدم و کدهاشو میذارم یا خود پروژه رو. اما اگه دیر شد ببخشید و امیدوارم زودتر از خودم یا خودتون به نتیجه برسید یا دوستان دیگه همت کنن. (10 سال پیش)
0 0
ممنون دوست عزیز.لطف کردی.امیدوارم کسی پاسخ من رو بده.چون ان شالله فردا عقد میکنم و کلا گرفتار میشم.یاعلی (10 سال پیش)
0 0
سلام من تازه اندروید رو شروع کردم. تا اینجا که آموزش ها رو دیدم یه راه به نظرم میرسه. ولی شاید راه های خیلی بهتری باشه اما من نمیدونم. از نخ ها (thread ) استفاده کنید و درون listener دکمه نخ را 3000 میلی ثانیه sleep کنید و بعدش کدهاتون رو بنویسید. (10 سال پیش)
پاسخ به سوال 
Spirit  10 سال پیش
+1 0

اینم کادوی ما به مناسبت عقد شما D: خوشبخت شین :)

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MyActivity extends Activity {

final Handler handler = new Handler();
final int interval = 1 * 1000;
int counter = 5;

private TextView tv;
private Button btn;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tvTimer);
btn = (Button) findViewById(R.id.btnTimer);

startTimer();

btn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
resetTimer();
}
});

}

private void startTimer() {
handler.postDelayed(runnable, interval);
}


private void updateTeexview() {
tv.setText(counter + " Seconds remain");
}

private void removeTimer() {
handler.removeCallbacks(runnable);
}

private void resetTimer() {
removeTimer();
counter = 5;
startTimer();
updateTeexview();
}

private void timesUp() {
removeTimer();
Toast.makeText(this, "It's over!", Toast.LENGTH_SHORT).show();
}

Runnable runnable = new Runnable() {
@Override
public void run() {
if (counter == 0) {
timesUp();
return;
}
counter--;
startTimer();
updateTeexview();
}
};
}

راه بهتر و کوتاه تر هم ممکنه وجود داشته باشه.

0 0
دست مریزاد جناب نصرتی عزیز. شاید منظور ایشون عقد قرارداد پروژه بوده!! ولی به هر حال بازم تبریک به جناب اخوان (10 سال پیش)

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