تالار گفتمان nCIS.ir

نسخه‌ی کامل: مشکل با Runnable
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام خسته نباشید
من میخوام وقتی کاربر رودکمه کلیک کرد بعد از 150 ثانیه دوباره اتومات رو دکمه کلیک شه
کدی که استفاده میکنم:
final Runnable runnable = new Runnable() {
    public void run () {
        down3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            }
        });
    };
};

final Handler handler = new Handler();
handler.postDelayed(runnable, 150000);

down3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        handler.removeCallbacks(runnable);
    }
});

آیدی دکمه من down3 هست
کد مشکل داره؟!چون جواب نمیده لطفا راهنمایی کنید.
کد کامل پروژه به استاد شهرکی ارسال شد
میخواین یکبار انجام بشه یا چندبار؟ اگه میخواین یکبار انجام بشه این کد رو تست کنید:
final Runnable runnable = new Runnable() {
    @Override
    public void run () {
        // Action to execute on button click
    }
};
 
final Handler handler = new Handler();
 
down3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        runnable.run();
        handler.postDelayed(runnable, 150000);
    }
});

اگه میخواین هر 150 ثانیه یکبار اجرا بشه، این کد رو استفاده کنید:
Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new Runnable() {
    @Override
    public void run() {
        runnable.run();
    }
}, 0, 150, TimeUnit.SECONDS);