SORU
5 EKİM 2009, PAZARTESİ


Nasıl / Duraklat Android parçacığı veya işlem için uyku?

İki kod satırları arasında bir duraklama, bana biraz açıklamama İzin verin yapmak istiyorum:

->kullanıcı bir düğmeye basana (aslında bir kart) ve bu düğme arka planını değiştirerek göster:

thisbutton.setBackgroundResource(R.drawable.icon);

->diyelim ki 1 saniye sonra, düğmeyi önceki durumuna geri arkaplanı değiştirme geri gitmek istiyorum:

thisbutton.setBackgroundResource(R.drawable.defaultcard);

->Duraklatın ve bu iki kod satırları arasında bu konuya çalıştım:

try {
    Thread.sleep(1000);
} catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Ancak, bu çalışmıyor. Belki süreci ve duraklatmak için ihtiyacım olan konu değil mi?

Ayrıca (ama çalışmıyor) denedim:

new Reminder(5);

Bu:

public class Reminder {

Timer timer;

        public Reminder(int seconds) {
            timer = new Timer();
            timer.schedule(new RemindTask(), seconds*1000);
        }

        class RemindTask extends TimerTask {
            public void run() {
                System.out.format("Time's up!%n");
                timer.cancel(); //Terminate the timer thread
            }
        }  
    }

Nasıl/iş parçacığı veya İşlem uyku duraklatmak miyim?

CEVAP
14 HAZİRAN 2010, PAZARTESİ


Bu sorun için iyi bir çözüm Handlerbir kullanım için's postDelayed() yöntemi:

@Override
public void onClick(View v) {
    my_button.setBackgroundResource(R.drawable.icon);

    // Execute some code after 2 seconds have passed
    Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
         public void run() { 
              my_button.setBackgroundResource(R.drawable.defaultcard); 
         } 
    }, 2000); 
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GirlSanctuaryBlog

    GirlSanctuar

    28 Aralık 2011
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007
  • Snazzy Labs

    Snazzy Labs

    9 Aralık 2008