بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تغییرimageview (حل شد)
سلام.
ImageView دارم میخوام با کلیک اول تصویر اول رو نشون بده بعد از 300 میلی ثانیه تصویر دوم بشه سورسش و 400 میلی ثانیه بعد تصویر سوم سورس ایمیجش بشه. ولی نمیشه:
tasvir.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tasvir.setImageResource(R.drawable.tasvir2);
thread = new Thread(new Runnable() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
try {
thread.sleep(300);
tasvir.setImageResource(R.drawable.tasvir3);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
});
handler.post(new Runnable() {
@Override
public void run() {
try {
thread.sleep(400);
tasvir.setImageResource(R.drawable.tasvir1);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
});
thread.start();
}
});
}
+1
0
خطا میده؟ از Handler و متد postDelayed که تو ساخت Splash معمولاً به کار برده میشه استفاده کنید بهره. نیازه به Thread نیست. (11 سال پیش)
0
0
خطا نمیده .ولی من میخوام سه تا تصویر با فاصله بیاد ولی دوتا میاد یکیشو نشون نمیده (11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
f-Dehghan
11 سال پیش
0
0
با handler این طوری نوشتم ولی بازهم دو تا تصویرو نشون میده 2و3 میخوام آخرین تصویر 1 بشه.بعد دوباره کلیک که میشه تصویر 2 بعد از 300میلی ثانیه تصویر 3 و بعد از 300 میلی تصویر 1 رو نشون بده.
@Override
public void onClick(View v) {
tasvir.setImageResource(R.drawable.tasvir2);
getImageToSet();
}
});
}
private void getImageToSet() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
tasvir.setImageResource(R.drawable.tasvir3);
}
}, 300);
handler.postDelayed(new Runnable() {
@Override
public void run() {
tasvir.setImageResource(R.drawable.tasvir1);
}
}, 300);
}
پاسخ به سوال
f-Dehghan
11 سال پیش
0
0
این طوری درست شد .با تشکر از Spirit
public void onClick(View v) {
tasvir.setImageResource(R.drawable.tasvir2);
handler.postDelayed(tasvire3, 300);
handler.postDelayed(tasvire1, 600);
}
});
}
Runnable tasvire3 = new Runnable() {
@Override
public void run() {
tasvir.setImageResource(R.drawable.tasvir3);
}
};
Runnable tasvire1 = new Runnable() {
@Override
public void run() {
tasvir.setImageResource(R.drawable.tasvir1);
}
};
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .