بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
استفاده از Thread
سلام و خسته نباشید به همه
من یک برنامه ساده نوشتم که سوالات 4 گزینه ای طرح میشه به طور رندوم اگه کاربر جواب درست بده میگه درسته و سوال بعدی نمایش میده اگرم درست نباشه میگه غلطه و میره سوال بعد
تا اینجا هیچ مشکلی نیست اما من میخوام برای هر سوال 4 ثانیه وقت بده تو این 4 ثانیه اگه یکی از 4گزینه زده شد چک کنه درست هست یا نه و بره بعدی
اما اگه گزینه ای زده نشد بگه نادرست و بره سوال بعد
اگه زحمتی نیست با یه تکه کد و یکم توضیح به سوالم جواب بدین ممنون
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
Vahid
11 سال پیش
+1
0
از کد زیر می تونید استفاده کنید هر چند تو آموزش ها هست:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
while (true) {
Thread.sleep(1000);
//کدی که می خواید تکرار بشه رو اینجا قرار دهید
}
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread.start();
در ضمن اگه می خوای عناصر Ui رو تغییر بدی حتما باید از Handler استفاده کنی.
پاسخ به سوال
Eclipse
11 سال پیش
+1
0
این کد از آموزش استاد در پروژه Time Downer با کمی تغییرات گرفته شده
وقتی که کاربر جواب درست داد Time_Downer رو مساوی صفر قرار بده و مقدار answer رو برابر با true
private int Time_Downer = 4;//ثانیه
private int numTxtCount;// مقدار داخل تکست ویو
private boolean answer; // تعیین درست یا غلط بودن جواب کاربر یا تمام شدن زمان چهار ثانیه
thread = new Thread(new Runnable() {
@Override
public void run() {
while (Time_Downer > 0) {
numTxtCount = Time_Downer;
try {
for (int i = 0; i < 9; i++) {
Thread.sleep(100);
if (Time_Downer == 0)
break;
}
}
catch (InterruptedException e) {
e.printStackTrace();
}
if (Time_Downer != 0) {
Time_Downer--;
numTxtCount--;
}
if (txtViewCounter != null) {
G.HANDLER.post(new Runnable() {
@Override
public void run() {
txtViewCounter.setText(Integer.toString(numTxtCount));
}
});
}
}
if (numTxtCount == 0) {
answer = false;// اگه زمان صفر بشه مقدار تغییر میکنه به false
}
G.HANDLER.post(new Runnable() {
@Override
public void run() {
if (answer) {
//اگه جواب درست بود اینجا کد مربوط به درستی جواب نوشته میشه
}
else {
//اگه جواب غلط بود اینجا کد مربوط به غلط بودن جواب نوشته میشه
}
}
});
اینجا یه سری بزن : لینک (11 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .