Önceden tanımlanmış bir amaç için programlı olarak bir düğmeyi tıklayabilir miyim?


104

ACTION_SEND amacının düğme tıklamasına ihtiyacım var. Burada kullanıcı arayüzünün görüntülenmesine gerek yoktur. Android'de MMS-SMSProvider'dan "Gönder" düğmesini tıklayabilir miyim?

Yanıtlar:


243

button.performClick()Yöntemi kullanarak programlı olarak bir düğmeye tıklayabilirsiniz .


47

Düğmeniz herhangi bir animasyon içeriyorsa, tıklamanız ve ardından performClick'ten sonra her adımı geçersiz kılmanız gerekir. Bunu nasıl yapacağınız aşağıda açıklanmıştır:

 button.performClick();
 button.setPressed(true); 
 button.invalidate(); 
 button.setPressed(false); 
 button.invalidate(); 

Bazen animasyonun gösterilmesi için geciktirme yapmak zorunda kaldım. Bunun gibi:

 //initiate the button
 button.performClick();
 button.setPressed(true); 
 button.invalidate(); 
 // delay completion till animation completes
 button.postDelayed(new Runnable() {  //delay button 
     public void run() {  
        button.setPressed(false); 
        button.invalidate();
        //any other associated action
     }
 }, 800);  // .8secs delay time

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.